テンプレートキャッシュについて
テンプレートキャッシュについて詳しくご紹介します。
テンプレートキャッシュを有効にする
「private/config.system.yaml」に以下の記述をすると機能が有効化されます。
template_cache: on
3系の「config.system.yaml」はデフォルトで、テンプレートキャッシュが有効になっています。よって2系からのアップデートの場合は、通常「config.system.yaml」を更新しないため、テンプレートキャッシュはオフの状態となっております。
また「DEBUG_MODE」時はテンプレートキャッシュが有効になりません。 テンプレートキャッシュを使いたい場合は「config.server.php」で「DEBUG_MODE」を「0」にしましょう。
define('DEBUG_MODE', 0);
テンプレートキャッシュが使える条件(制限事項)
テンプレートキャッシュを有効にすると、テンプレートの作り方に制限が設けられます。
具体的には、インクルード文の中に使用できるグローバル変数が限定されます。
<!-- 以下のようなインクルード文で使用するグローバル変数が限定されます。 -->
@include("/admin/entry/bcd/%{BCD}.html")
使用できるグローバル変数
- %{ECD}
- %{BCD}
- %{PBCD}
- %{RBCD}
- %{CCD}
- %{PCCD}
- %{RCCD}
- %{ALIAS_CODE}
- %{IS_ADMIN}
- %{MODULE_NAME}
- %{MODULE_ID}
- %{ADMIN_PATH}
- %{ADMIN_PATH_MID}
以下のような 正規表現 で全文検索すると、インクルード文の中でグローバル変数を使っている箇所を検索できます。 (@include方式のみ)
@include\(['"][^'"]*%\{[^\}]+\}
テンプレートキャッシュが有効時は、テンプレートを編集しても反映されません。
開発環境では「DEBUG_MODE」をオンにしてキャッシュされないようにして作業し、本番環境では「DEBUG_MODE」をオフにしてテンプレートキャッシュを有効にするのがいいでしょう。
本番環境反映時には、ダッシュボードからテンプレートキャッシュのクリアを忘れないようにしましょう。