Drupal 7

Drupal 7 の Webform の日付フィールドのフォーマットを変更する方法

Drupal 7 の Webform の日付フィールドはデフォルトでは「 月/日/年 」というフォーマットになっています。 これは日本では馴染みの薄いフォーマットなので、国内のプロジェクトで使用する場合は変更して使う形がほとんどになるかと思います。

明示的な説明がありませんが、こちらを変更するには日付フォーマットの「 short 」(「短い」)のフォーマットを変更すれば OK です。 たとえば「 Y/m/d 」というフォーマットを作成して選択すると日付フィールドが「年月日」( 2015 06 17 )という順番になります。

Drupal 7 の Views で使用すべきテンプレートを特定する方法

Drupal 7 の Views で出力のテンプレートを変更したいことがあるかと思います。

そういう場合にはどこかのテンプレートを実装/上書きする必要があるということはパッとわかるのですが、具体的にどのテンプレートを利用すればよいのかにわかにはわかりません。

そういう場合には、以下の場所で実装/上書きすべきテンプレートを確認することができます。

  • 各 view の設定ページの「 Advanced 」の「 Theme 」の「 Information 」をクリック

Views 設定画面 1

Drupal 7 で DB にレコードを複数行まとめて入れる方法

タイトルのとおり Drupal でレコードを複数行まとめて入れる挿入する方法について。

こちら可能は可能なのですがちゃんと解説しているドキュメントがあまりないようでパッと確認したいときに不便します。メモ代わりに書いておきたいと思います。

おなじみ db_insert() で生成した InsertQuery に対して values() を呼び出せば OK です。

Drupal 7 で DB トランザクションを明示的にコミットする方法

Drupal 7 で DB トランザクションを明示的にコミットする方法について。

Drupal では使用している DB がトランザクションをサポートしている場合は db_transaction() 関数でトランザクションを開始することができます。そして、ロールバックや例外などが発生しないかぎり一連の処理が終了して関数のスコープを抜けるときに自動的にトランザクションがコミットされます。

この自動コミットの仕組みに任せるのではなく、意図的に所定の場所でコミットしたい場合には次のようにすると OK です。 unset() の後に DB 関係の例外が発生しても unset() までの部分はコミット済みとなります。

Drupal 7 の Views で日付フィールドでフィルタリングする方法

Views で日付フィールドの値によってフィルタリングしたい場合があるかと思います。たとえば未来のお知らせだけを表示したい、直近 1 ヶ月のイベントだけを表示したい、など。

今回はそんな「 Drupal の日付フィールドでフィルタリングする方法」をご紹介します。

前提として、 Views モジュールと Date モジュールを有効化しておきます。ただ、これだけの状態では Date フィールドを文字列としてしか扱えないので、日付データとして扱うためには Date Views (date_views) モジュールを有効化する必要があります。これだけで日付フィールドの条件が細かく決められるようになります。

Drupal 7 でテンプレートファイル内で使用できる変数をチェックする方法

Drupal のテンプレートファイルでは多数の変数が使用できるようになっていますが、テーマの継承などを行っていると使える変数が非常に多く「何が使えて何が使えないのかわからない」という状況になりがちです。

変数をチェックするにはテンプレートファイル内で以下のコードを記述するとよいでしょう。

<?php
  dpm(get_defined_vars());
?>

dpm() 関数を利用するには Devel モジュールがインストールされ有効になっている必要があります。

get_defined_vars() は特に Drupal に固有の関数ではなく PHP の組み込みの関数ですが、こういうときに使うとものすごく強力です。

さくらのレンタルサーバーで drush の自動補完がきかない問題の解決方法

さくらインターネットのレンタルサーバーで Drupal を使うときに起こる問題の解決方法についてです。

さくらで Drush をセットアップし自動補完用のスクリプトも読み込むようにしたのに、自動補完がきかないことがあります。 drush コマンドは使えるのに自動補完がきかない、そんな場合には drush コマンド、 drush エイリアスのいずれも認識されていないことが原因の可能性が大きいでしょう。

原因

drush コマンド、 drush エイリアスが認識されていないため。

Drupal 7 で単一のノードを別の Drupal サイトにコピーする方法

Drupal で単一、あるいは小数のノードを特定の Drupal サイトから別の Drupal サイトに移動する方法について。

いくつか方法はあるかと思いますが、たとえば、ローカルの開発環境から本番環境へひとつだけのノードをサッと移すだけであれば Node export モジュールがおすすめです。 以下具体的な方法をご紹介します。

まずは移行元のサイトと移行先のサイトの両方に Node export をインストールし有効化します。

Drupal 7 でテーマのベーステーマが見つからないときのエラー

エラー

Drupal で有効でデフォルトになっているテーマのベーステーマが存在しないときに以下のような警告文が表示されます。 厳密にはエラーではありませんが、そのまま放置していても正常な動作をするようにはならないので広義のエラーと言ってもよいでしょう。

ページ