Ver. 2.11.25からのテンプレートの仕様変更について

この記事は公開日より3年以上経過しているため、現在の内容と異なる可能性があります。

Ver. 2.11.25 で、テンプレート周りの仕様変更がありましたので、お知らせいたします。

概要

いくつかの設定(private/config.system.yaml)をデフォルトで有効にしてあります。なのでCMSのアップデートによる影響はございません。 Ver. 2.11.25 以上を新規インストールした場合、そのままだといままでと違う動作になります。

変更内容

private/cofig.system.yaml で以下項目が追加・変更されています。

forbid_tpl_inheritance_when_path_unresolved: on # on | off パス解決に失敗した時、テンプレートを継承しないようにする
forbid_tpl_url_context: on # on | off 読者以下のURLコンテキストのtplを許可しない。(例: https://example.com/news/tpl/custom.html)
allow_tpl_path: [] # forbid_tpl_inheritance_when_path_unresolved や forbid_tpl_url_context が on の場合、除外するパスを設定します。例: [news.html,hoge/custom.html] カンマ区切りで指定

forbid_tpl_url_context

デフォルトで、tplコンテキスト を無効に設定しました。理由として tplを指定すればクライアント側で、好きなテンプレートを指定することができてしまうため、 同一コンテンツの複数のページができてしまうためになります。

forbid_tpl_inheritance_when_path_unresolved

デフォルトで、パス解決失敗時のテンプレート継承を無効にしました。理由として forbid_tpl_url_context と同様、同一コンテンツの複数のページが表示できてしまうためになります。

allow_tpl_path

上記2つの設定の例外パスを設定できます。例えばpost includeしたい箇所などは、tplコンテキストを使いたい場合があるので、 そのような時は、ここで例がテンプレートのパスを記入します。

以上3つのオプションの設定を追加・変更いたしました。バージョンアップでは影響が出ないようになっていますので、Ver. 2.11.25 以上で新規インストールする場合はお気をつけください。

forbid_tpl_inheritance_when_path_unresolvedforbid_tpl_url_contextoff に設定すれば、いままでと同じ動作になりますが、できればここの設定はONのまま、allow_tpl_path で例外設定をするようにお願いいたします。

同じタグ付けがされている記事