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/