drupal7でハマった ver.1

  • このエントリーをはてなブックマークに追加
drupal初心者が陥った内容を残しておきます。 他にも出てきそうなので初回からver1を宣言。 本来はお作法的なものを備忘にしたいのですが、未だに使いこなせません。 今回は解析に手間取ったいくつかを挙げておきます。

ドメインを変更(またはリダイレクト)させたらJS/CSSが効かなくなった

settings.phpのbase_urlを確認。古い場合は最新に設定。または未設定に戻す。

httpsにした場合、JS/cssが効かない

settings.phpのbase_urlをフルパスで設定することで有効になります。 base_urlが未指定の場合はhttp+ドメインでパスを作っているのでしょうか。

特定のコントリビュートモジュールを利用時、設定値が反映されない

これは結構ありました。 Drupalモジュールのお作法(?)として設定値はvariableのテーブルで管理させているようです。 しかし、一部のコントリビュートモジュールでは管理画面からこの値を変更する術がないことがあります。 admin/config/system/variable から操作できそうでしたが、断念。 コードを見ると初期化が足りなかったりするので、まあバグなんでしょうね。 反映させられないときは以下で確認してみてください。 select * from variable where name like '%モジュール名%'; valueに古い設定値が入っていればこれが原因です。 value = 's:11:"http://hoge" このような形で格納されている場合、↓のように直接update。(Stringはs、intはiの:桁数) value = 's:17:"https://hogehoge2

コントリビュートモジュールが動かない

これは非常に稀だと思うのですが、修正patchが公開されているにもかかわらず、ダウンロードファイルが最新になっていないものがありました。 log を見るとundifine function ~ 等、根本的にwhat?!と思う挙動を示した場合、まずpatchの有無を確認してみてください。 想像で他人の実装の続きをするとかはしなくないですね。。

まとめ

Drupalに限りませんが、まず基本的な仕組みをつかむこと。 低コストで実装できること・できないこと(スクラッチ寄り)を把握するのが重要そうです。 ちなみに初期実装中、カスタム定義項目の型変更などで直接SQLの手パッチをするなどして Drupalそのものが動かなくなることが何度かありました(汗) core系には手を加えずhookさせなさい、がCMSの指針なのでDB側もまあ当然なのですが。 やむなく行う場合はbackupは必ず取りましょう。 という事で上記の修正方法は独自であり非推奨です。解析の参考程度にどうぞ。 DrupalはDries Buytaertの登録商標です。 https://www.drupal.org/
  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

コメントを残す

*