やりたいこと
テンプレート毎に表示させる内容を変えたい。
例)ページタイトル、CSSなど・・・
解決方法
各テンプレートに任意の変数をセットする。
例:title要素を変えたい場合
インデックステンプレート
<MTSetVar name="index_template" value="1">
ウェブページテンプレート
<MTSetVar name="page_template" value="1">
head(テンプレート)
<mt:If name="index_template"><mt:Ignore>----- ▼扉ページ -----</mt:Ignore>
<title><mt:SiteName remove_html="1"> | <mt:WebsiteName> | 株式会社サンプルデスヨ</title>
<mt:ElseIf name="page_template"><mt:Ignore>----- ▼ウェブページ -----</mt:Ignore>
<title><mt:PageTitle remove_html="1"> | <mt:WebsiteName> | 株式会社サンプルデスヨ</title>
</mt:If>
このように条件分岐させてあげれば、表示を変えることが可能です。
「このインデックステンプレートにだけCSSやJSファイルを読み込ませたい!」も可能です。
また、親サイト以下どのテンプレートでも使用可能です。(主に共通テンプレートに使用機会が多いかも)
番外編:特定のウェブページのみ表示する内容を変えたいとき
それほど関係ないですが、各ウェブページに特別に何かを指定したい場合はフォルダー名を指定してあげればいいかと思います。
例:フォルダ「samplefolder」にCSSを読みこませたい場合
head(テンプレート)
<mt:Pages folder="samplefolder">
<link rel="stylesheet" href="/samplefolder/css/style.css">
</mt:Pages>
予約変数というあらかじめ決められた変数名もありますが、自在に使えるし調べる手間も省けると思ったので自分は任意で命名したものを使用しています。
※やはり予約変数は使用したほういいのかな・・・。
任意で使用する場合は、命名ルールの統一・グローバル変数など記述するサイト内共通テンプレート(自分の場合はsite_config)などにコメントで明記しておくと分かりやすいかもしれませんね。