drupal7でハマった ver.1

drupal7でハマった ver.1
Pocket

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/

Pocket

システム開発・サーバー管理のご相談なら12Gridへ

システムでお困りのことはございませんか?
プランニングから構築までの一括サポートまで、
お客さまのご要望にあわせて柔軟に請け負っています。

DEVELOPMENTカテゴリの最新記事