MTのテンプレートを触っていると、色々と覚えないといけないこともあったり、実現したいことができたりできなかったり^^
MTに用意されているWidgetなどを苦労することなく流用したいことがよくある。ただ、Widgetって、Divタグでくくられていて、idやclassなどが固定化されている。よくわからないとこのWidgetをコピーして、ID名を変更して複数保存していたが、あとで変更が入ったときの手間が大変><。 これは変数を使うと簡単に解決できる。
例えば、
<mt:IfArchiveTypeEnabled archive_type="Category">
<mt:if tag="BlogCategoryCount">
<div id="archives" class="widget-archive widget-archive-category widget">
<h3 class="widget-header">カテゴリ</h3>
<div class="widget-content">
<mt:TopLevelCategories>
<mt:SubCatIsFirst>
<ul>
</mt:SubCatIsFirst>
<mt:If tag="CategoryCount">
<li><a href="<$mt:CategoryArchiveLink$>"<mt:If tag="CategoryDescription"> title="<$mt:CategoryDescription remove_html="1" encode_html="1"$>"</mt:If>><$mt:CategoryLabel$> (<$mt:CategoryCount$>)</a>
<mt:Else>
<li><$mt:CategoryLabel$>
</mt:If>
<$mt:SubCatsRecurse$>
</li>
<mt:SubCatIsLast>
</ul>
</mt:SubCatIsLast>
</mt:TopLevelCategories>
</div>
</div>
</mt:if>
</mt:IfArchiveTypeEnabled>
この3行目のid="archive"をトップページとその他のページで使い分けたい場合、ここに変数名をいれることで対応できる。
<mt:IfArchiveTypeEnabled archive_type="Category">
<mt:if tag="BlogCategoryCount">
<div id="<$mt:Var name="page_id"$>" class="widget-archive widget-archive-category widget">
<h3 class="widget-header">カテゴリ</h3>
<div class="widget-content">
<mt:TopLevelCategories>
<mt:SubCatIsFirst>
<ul>
</mt:SubCatIsFirst>
<mt:If tag="CategoryCount">
<li><a href="<$mt:CategoryArchiveLink$>"<mt:If tag="CategoryDescription"> title="<$mt:CategoryDescription remove_html="1" encode_html="1"$>"</mt:If>><$mt:CategoryLabel$> (<$mt:CategoryCount$>)</a>
<mt:Else>
<li><$mt:CategoryLabel$>
</mt:If>
<$mt:SubCatsRecurse$>
</li>
<mt:SubCatIsLast>
</ul>
</mt:SubCatIsLast>
</mt:TopLevelCategories>
</div>
</div>
</mt:if>
</mt:IfArchiveTypeEnabled>
で、変数の設定は、呼び出すテンプレートの上部に記入しておく。
ここでは、変数名を page_id としている。interviews_top_category が作成したいID名
<mt:SetVarBlock name="page_id">interviews_top_category</mt:SetVarBlock>
0 件のコメント:
コメントを投稿