Craft CMS で一部のページだけ devMode(開発モード)を有効にする方法

Craft CMS で一部のページだけ開発モードにする方法をご紹介します。開発中は必須の設定になりそうです。

Craft CMS Logo

Craft CMS では、 craft/config/general.phpdevModetrue を設定することで、開発モードにすることができます。

開発モードにすると、Twig テンプレートでエラーが発生する場合、どこがなぜエラーなのかを詳細に知ることができるので、テンプレート開発中には必須ともいえます。

しかし、便利な半面、開発モードのままエントリーを保存したり、管理画面で設定を変更したりすると、異様に時間がかかってしまい、待ちきれずに Apache を再起動した、とういう経験が何度もあります。

そこで、Craft エバンジェリストの BUNさん に相談したところ、下記の記事を教えていただきました。

これによると、 devMode を任意の条件で分岐して true false をセットできるようです。

そこで、下記のようにして、管理画面は開発モードにしないように設定してみました。

'devMode' => (strpos($_SERVER['REQUEST_URI'], 'admin') == false ? true : false),

こうすることで、テンプレート開発は開発モードの状態で、管理画面は通常モードで作業することができます。条件式については適宜環境に合わせてください。

便利ですね〜!

以上です。

Published 2017-05-19
Updated 2019-06-25