使用例

ネスト対応のナビゲーションメニューと、パンくずリストの実装例を紹介します。

ここでは、TreeOrder のタグを組み合わせた代表的な実装例を紹介します。いずれもウェブページ(page)を例にしていますが、class を変えれば記事やコンテンツデータでも同様に使えます。

ナビゲーションメニュー(ネスト対応)

ルート(一番上の階層)のページを一覧し、子ページがあれば入れ子のリストとして出力します。mt:TreeOrderIsFirst / mt:TreeOrderIsLast で、リスト全体を囲む <ul> を 1 度だけ出力しています。

<nav>
<mt:TreeOrder class="page" top_level_only="1">
  <mt:TreeOrderIsFirst><ul></mt:TreeOrderIsFirst>
  <li>
    <a href="<mt:PagePermalink>"><mt:PageTitle></a>
    <mt:TreeOrderHasChildren>
      <ul>
      <mt:TreeOrderChildren>
        <li><a href="<mt:PagePermalink>"><mt:PageTitle></a></li>
      </mt:TreeOrderChildren>
      </ul>
    </mt:TreeOrderHasChildren>
  </li>
  <mt:TreeOrderIsLast></ul></mt:TreeOrderIsLast>
</mt:TreeOrder>
</nav>

パンくずリスト

現在のページに親がある場合だけ、ルートからの祖先をたどってパンくずを出力します。最後に現在のページ自身を表示しています。

<mt:TreeOrder class="page">
  <mt:TreeOrderHasParent>
    <nav aria-label="breadcrumb">
      <ol>
        <mt:TreeOrderAncestors>
          <li><a href="<mt:PagePermalink>"><mt:PageTitle></a></li>
        </mt:TreeOrderAncestors>
        <li aria-current="page"><mt:PageTitle></li>
      </ol>
    </nav>
  </mt:TreeOrderHasParent>
</mt:TreeOrder>