[MTカスタマイズ Tips] カテゴリの分岐でよくつかうブロックタグ

[MTカスタマイズ Tips] カテゴリの分岐でよくつかうブロックタグ

イメージ

こんばんは、煙草の値上がりで金欠となり禁煙なうなishidaです。
今日で禁煙2週間目に突入し、どうやら今回は禁煙成功できそうです。

MovableTypeは、カテゴリが弱い(Version3時代)という印象を持ったままでしたが、 改めてリファレンスでMovableTypeタグを見てみると、かなり種類も増えていたんですね。

今回は、MovableTypeのカテゴリ分岐についていろいろと使ってみたけど忘れそうなのでメモメモ。

MTHasNoParentCategory

現在のカテゴリに親カテゴリが存在しないときだけ実行する条件タグ。

つまり、第1階層カテゴリの場合。

MTHasNoSubCategories

現在のカテゴリにサブカテゴリが存在しないときだけ実行する条件タグ。

つまり、最下位カテゴリの場合。

MTHasParentCategory

現在のカテゴリに親カテゴリが存在されているときだけ実行する条件タグ。

つまり、第2階層以下カテゴリの場合。

MTHasSubCategories

現在のカテゴリにサブカテゴリが登録されているときだけ実行する条件タグ。

つまり、説明そのまま。

MTMLで書いてみると

<mt:HasNoParentCategory>
<mt:ignore><!-- 第1階層カテゴリの場合 --></mt:ignore>
</mt:HasNoParentCategory>

<mt:HasParentCategory>
<mt:ignore><!-- 第2階層以下カテゴリの場合 --></mt:ignore>
</mt:HasParentCategory>

<mt:HasNoSubCategories>
<mt:ignore><!-- 最下位カテゴリの場合 --></mt:ignore>
</mt:HasNoSubCategories>

<mt:HasSubCategories>
<mt:ignore><!-- 現在のカテゴリにサブカテゴリが登録されている場合 --></mt:ignore>
</mt:HasSubCategories>

サイドバーにてカテゴリをナビゲーションとして表示する場合に、
上記ブロックタグを使う事で、簡単にカスタマイズができます。

例として

<mt:If name="category_archive"><mt:ignore><!-- カテゴリページの場合 --></mt:ignore>


<mt:ignore>親カテゴリの場合 ---------------------------------</mt:ignore>
<MTHasNoParentCategory>
<mt:SetVarBlock name="current_category"><$mt:CategoryID$></mt:SetVarBlock>

<mt:TopLevelCategories>
<mt:SetVarBlock name="now_category"><$mt:CategoryID$></mt:SetVarBlock>

<ul>
<li<mt:if name="current_category" eq="$now_category"> class="current"</mt:If>><a href="<$mt:CategoryArchiveLink$>"><$mt:CategoryLabel remove_html="1"$></a>
<mt:if name="current_category" eq="$now_category">
<mt:SubCategories>
<mt:SubCatIsFirst><ul></mt:SubCatIsFirst>
<li><a href="<$mt:CategoryArchiveLink$>"><$mt:CategoryLabel remove_html="1"$></a>
<$mt:SubCatsRecurse$>
</li>
<mt:SubCatIsLast></ul></mt:SubCatIsLast>
</mt:SubCategories>
</mt:If>
</li>
</ul>
</mt:TopLevelCategories>
</mt:HasNoParentCategory>

<mt:ignore>子カテゴリの場合 ---------------------------------</mt:ignore>
<mt:HasParentCategory>

<mt:ParentCategories exclude_current="1">
<mt:SetVarBlock name="parent_name"><$mt:CategoryLabel$></mt:SetVarBlock>
</mt:ParentCategories>

<mt:TopLevelCategories>
<ul>
<mt:SetVarBlock name="current_name"><$mt:CategoryLabel$></mt:SetVarBlock>

<mt:If name="current_name" eq="$parent_name">
<li class="current"><a href="<$mt:CategoryArchiveLink$>"><$mt:CategoryLabel remove_html="1"$></a>

<mt:SubCategories>
<mt:SubCatIsFirst><ul></mt:SubCatIsFirst>
<li><a href="<$mt:CategoryArchiveLink$>"><$mt:CategoryLabel remove_html="1"$></a>
<$mt:SubCatsRecurse$>
</li>
<mt:SubCatIsLast></ul></mt:SubCatIsLast>
</mt:SubCategories>

<mt:Else>
<li><a href="<$mt:CategoryArchiveLink$>"><$mt:CategoryLabel remove_html="1"$></a></li>
</mt:If>

</ul>
</mt:TopLevelCategories>

</mt:HasParentCategory>
</mt:If>

参考までに

  • このエントリーをはてなブックマークに追加

この記事を読んだ人にオススメ