MT7でカテゴリー別にテンプレートの表示を変えるで書いた
「もし古いアーカイブとリンクのパスが同じようなものであれば、条件分岐すら必要ない」を実験してみた。
モジュール内に全て書くと実行されなかったので、カテゴリーテンプレートの上の方に
<mt:SetVarBlock name="cat_link"><$mt:ArchiveLink$></mt:SetVarBlock>
を入れる。
「カテゴリー別テンプレート」というモジュールを作って、その中に
<a href="<mt:Var name="cat_link" replace="archives_mt7","archives">"><$mt:ArchiveTitle$> アーカイブ</a>
としてみた。
あとは、カテゴリーアーカイブのテンプレートの表示させたい場所に
<$mt:Include module="カテゴリー別テンプレート"$>
を入れて再構築。
古いアーカイブがarchives、新しいアーカイブがarchives_mt7、これ以下のパスが全部同一の場合はこれでうまくいった。
新しいカテゴリーを作っていたり、ディレクトリ名を変更していると空欄になった。
こっちの
<mt:If name="cat_name" eq="細々した日常を週単位で">
<a href="/archives/diary/weekly/"><$mt:ArchiveTitle$> アーカイブ</a>
<mt:ElseIf eq="Movable Type備忘録">
<a href="/archives/web/mt/"><$mt:ArchiveTitle$> アーカイブ</a>
<mt:ElseIf eq="Google関連">
<a href="/archives/web/google/"><$mt:ArchiveTitle$> アーカイブ</a>
</mt:If>
やり方だと、カテゴリー分だけElseIf文を作らないといけないので、カテゴリ数が多い場合は結構面倒だね。
最終更新日: