Movable Type でフォルダ(トップレベルフォルダ)毎にサイドバーの表示を変更するといった場合「MTFolderBasename」をブロックタグ「MTSetVarBlock」で括り、値を取得します。
<MTSetVarBlock name="folder_name"><MTTopLevelFolder><$MTFolderBasename$></MTTopLevelFolder></MTSetVarBlock>
次に「MTIf」で、先のブロックタグで取得した値を「name」で呼び出し、呼び出した値が「eq」と一致するかを判断します。
<MTIf name="folder_name" eq="folder1">
「name」で取得した値が「eq」と一致した場合は上記構文の下に記述した内容を表示します。
もし違う場合は、同様に「MTElseIf」で「eq」に一致するかを判断します。
<MTElseIf eq="folder2">
「name」が「eq」と一致する場合は、上記構文の下に記述した内容を表示します。
後は、必要な分だけ「MTElseIf」を繰り返していくと、フォルダ毎に表示する内容を変更する事が出来ます。
纏めると以下の様になります。
<MTSetVarBlock name="folder_name"><MTTopLevelFolder><$MTFolderBasename$></MTTopLevelFolder></MTSetVarBlock> <MTIf name="folder_name" eq="folder1"> folder1 の内容 <MTElseIf eq="folder2"> folder2 の内容 <MTElseIf eq="folder3"> folder3 の内容 </MTIf>
また「eq」の代わりに「like」を使用して、name に like=”xxx” が含まれる場合という指定も可能で
<MTSetVarBlock name="folder_name"><MTTopLevelFolder><$MTFolderBasename$></MTTopLevelFolder></MTSetVarBlock> <MTIf name="folder_name" like="folder"> folder1、folder2、folder3 の内容 <MTElseIf like="directory"> directory1、directory2、directory3 の内容 </MTIf>
と指定すると、folder1 〜 folder3、directory1 〜 directory3 までが同じ内容が表示されます。
MTSetVarBlock|テンプレートタグリファレンス
MTIf|テンプレートタグリファレンス
MTElse|テンプレートタグリファレンス