テーマの継承
使用中のテーマに存在しないファイルは、system テーマ内のファイルを使用するようになっていますが、同様に子ブログ用のテーマを作る際に@による継承を利用したテーマディレクトリを作成する事で、system との関係のようにテーマを継承する事が可能です。
この継承の仕組みを利用することで、共通で使えるファイルは継承し、個別に必要なファイルのみを別テーマ内に用意することでカスタマイズ、メンテナンスが容易になります。
以下の例はテーマ「site」を元に子ブログ「blog」用のテーマを作る場合のものになります。
blog@site
例えば、blog@site/include に header.html が無い場合には、site/include/header.html を利用する事になります。また president@blog@site のように複数の @ を使ったテーマも作成できます。
複数のブログを1つのシステム内に設定してカスタマイズする、といったサイトの制作時には、このような方法でメンテナンス性の高いテーマを作成できます。
ページとして表示するテンプレートも継承されます
親テーマ(例: site)に、URL と対応させたテンプレート(例: site/contact.html)を置くと、その親テーマを継承した子ブログでも、同じパス(例: /child/contact.html)でそのテンプレートが表示されます。子ブログで表示させたくない場合は、子テーマに同名のテンプレートを置いて内容を差し替えるか、テンプレート側でブログを判定して出し分けてください。
private/config.system.yaml の forbid_tpl_inheritance_when_path_unresolved は、URL の一部をブログ・カテゴリー・エントリーとして解決できなかった場合にだけ継承を止める設定で、この例のケースは止められません。