Drupal7

フォームから渡される変数が1,000以上受け取れないときの対処法

2013.02.13 / Notes

PHPでフォームから渡される変数が1,000以上の場合に、制限により受け取れないときの対処法です。
PHPのバージョン5.3.9よりセキュリティの面から、デフォルト値が1,000に制限されているので、PHPプログラムによっては、エラーとなってしまうことがあります。
自分の場合、DrupalのViewsで、外部設置フォームに「Better Exposed Filters」を利用した際に、エラーが頻発してしまいました。

 

「.htaccess」でデフォルト値を変更する場合には、次の様に追記します。

「php.ini」の場合には、次の様に追記します。

ちなみに2,500という数字には、特に意味はありません。

Drupalのブロック内でコンテンツタイプを判定。

2013.01.11 / Notes

Drupalでカスタムブロックを作成した際に、表示しているコンテンツタイプ別にブロックの表示内容を変更したい場合があります。
下記のようなコードでコンテンツタイプを判定することができます。

表示しているコンテンツタイプが「news」「blog」の場合に$signが「true」になります。

Drupal 7のテンプレート内でユーザーの権限判定。

2012.11.02 / Notes

Drupal 7での「page.tpl.php」などのテンプレート内で、ユーザーの権限(ロール)によって処理を変えたい場合に、判定するためのコードのメモです。

また、複数の権限を判定したい場合には、下記の様にも書けます。

FirefoxでjQueryが実行されない場合の対処法。

2012.09.06 / Notes

Firefox上でjQueryで記述した処理が、実行されない場合の対処法です。
jQueryの「.ready()」ステートメントで書き始める処理が、Firefoxの場合に限り動作しないケースがたまにあります。
原因ははっきりとは分かりませんが、特にDrupal上で記述すると、よくこの症状に遭遇します。
なので暫定的な対処法として、次のように書くようにしています。

「.bind()」を入れ子にして、ウィンドウの要素を全て読み込んだ段階で処理を実行するようにします。
Firefoxの場合だけ起こるというのが、やや不可解ではありますけど。

Drupalのコンテンツ表示について。

2012.07.17 / Notes

Drupalではコンテンツの表示には「$content」という変数を使います。
これは「node.tpl.php」テンプレート内で使うことができますが、汎用的なテーマのテンプレートの場合、次のように記述して、コンテンツに含まれるフィールドをまとめて出力しています。

フィールドの表示順やラベル表示の有無は「サイト構築 > コンテンツタイプ」内の「表示の管理」から変更をすることもできます。

 

もしオリジナルテーマを作成して、レイアウト内で個別にフィールドを出力したい場合には次のように個別指定も可能です。

上記では「field_image」フィールドのみを出力しています。
画像などでは、一つのフィールドに複数点アップするケースもありますが、その内の一つ目の項目のみを出力したい場合は次のようにします。