Movable Type CMSプラットフォーム Movable Type
ドキュメントサイト

Template Tag Referenceテンプレートタグリファレンス

MTSubFolders

最終更新日: 2017.10.04

現在のフォルダの子フォルダを階層化して一覧表示するブロックタグです。MTSubFolderRecurse ファンクションタグと組み合わせることで子孫フォルダを表示します。

  • 使い方
<mt:SubFolders top="1">
  <mt:SubCatIsFirst>
<ul class="folder">
  </mt:SubCatIsFirst>
  <mt:HasParentFolder>
    <mt:HasSubFolders>
  <li class="sub parent">
    <mt:Else>
  <li class="sub">
    </mt:HasSubFolders>
  <mt:Else>
  <li class="top">
  </mt:HasParentFolder>
    <$mt:FolderLabel$>
  </li>
    <$mt:SubFolderRecurse$>
  <mt:SubCatIsLast>
</ul>
  </mt:SubCatIsLast>
</mt:SubFolders>

モディファイア

include_current="1"

値を 1 に指定すると、現在のフォルダを含めて表示します。初期値は 0 です。

top="0 | 1"

値に 1 を指定すると、最上位のトップレベルフォルダの一覧を表示します。MTTopLevelFolders ブロックタグと同様の挙動となります。初期値は 0 です。

sort_by="user_custom"

Movable Type 5.1 で追加されました。初期値は user_custom です。管理画面で並び替えた順番で、フォルダの一覧を出力します。

例えば、以下のコードはフォルダを並び順で階層表示し、各フォルダのウェブページを一覧表示します。

<mt:SubFolders top="1">
    <mt:FolderHeader><ul></mt:FolderHeader>
    <mt:If tag="FolderCount">
        <li><$mt:FolderLabel$> (<$mt:FolderCount$>)
             <mt:Pages sort_by="title" sort_order="ascend">
                <mt:PagesHeader>
                  <ul>
                </mt:PagesHeader>
                <li class="page page-<$mt:PageID$>"><a href="<$mt:PagePermalink$>"><$mt:PageTitle$></a></li>
                <mt:PagesFooter>
                </ul>
                </mt:PagesFooter>
              </mt:Pages>
    <mt:Else>
        <li><$mt:FolderLabel$>
    </mt:If>
    <$mt:SubFolderRecurse$>
        </li>
    <mt:FolderFooter></ul></mt:FolderFooter>
</mt:SubFolders>

user_custom 以外にも次の値を指定することができます。この場合、管理画面で設定した並び順を無視し、指定した値で並び替えます。

  • label : 「フォルダ名」
  • description : 「説明」
  • basename : 「出力ファイル/フォルダ名」
  • created_on : 「作成日」
  • modified_on : 「更新日」
  • user_custom : 管理画面の並びかえ順(標準)
sort_order="ascend | descend"

並べる順序を指定します。ascend を指定すると昇順、descend は降順になります。初期値は ascend です。

<mt:SubFolders sort_by="label" sort_order="descend">
</mt:SubFolders>    

このブロックタグ内で、MTFolderNext タグ、および MTFolderPrevious タグを利用した場合は、sort_by で指定した順番で、前と次のフォルダを表示します。

sort_method="sub_foo"

Perl のメソッド名を使って並び替えます。

MTSubFolders と関連のあるテンプレートタグ (28)

  • フォルダの編集画面の『パス』に設定された値(ベースネーム)を表示します。

  • フォルダ内に作成されたウェブページ数を表示します。

  • フォルダ編集画面に追加されたカスタムフィールドの『説明』を表示するファンクションタグです。

    このタグは MTFolderCustomFields ブロックタグのコンテキストで使用します。

  • フォルダ編集画面に追加されたカスタムフィールドの『名前』を表示するファンクションタグです。

    このタグは MTFolderCustomFields ブロックタグのコンテキストで使用します。

  • フォルダに関するカスタムフィールドの情報を表示するためのブロックタグです。フォルダの編集画面に追加された\すべてのカスタムフィールドの情報を表示します。

    include モディファイアを使用すると、名前を指定したカスタムフィールドのみを対象にできます。exclude モディファイアに名前を指定したカスタムフィールドは対象から除外されます。

    特定のカスタムフィールドだけを表示したいときは、個別のテンプレートタグを使用してください。

  • フォルダ編集画面に追加されたカスタムフィールドに入力された値を表示するファンクションタグです。

    このタグは MTFolderCustomFields ブロックタグのコンテキストで使用します。

  • フォルダの編集画面で入力したフォルダの『説明』を表示します。

  • MTFolders ブロックタグの中で、最後に一度だけ実行する条件タグです。

  • MTFolders ブロックタグの中で、最初に一度だけ実行する条件タグです。

  • フォルダの ID 番号を表示します。

  • フォルダの名前を表示します。

  • 現在のフォルダの次のフォルダの内容を表示するためのブロックタグです。例えば、このタグの中の MTFolderLabel ファンクションタグでは、次のフォルダの名前を表示します。

  • トップレベルフォルダから現在のフォルダまでのディレクトリパスを表示します。例えば、ベースネームが foo のフォルダ配下に、ベースネームが bar のフォルダを作成したとき、bar フォルダに対する MTFolderPath タグの出力値は foo/bar です。

  • 現在のフォルダの前のフォルダの内容を表示するためのブロックタグです。例えば、このタグの中の MTFolderLabel ファンクションタグでは、前のフォルダの名前を表示します。

  • フォルダの一覧を表示するためのブロックタグです。このタグは、メインフォルダもサブフォルダも区別せずに表示します。階層的に表示したいときは MTSubFolders ブロックタグを利用します。

  • 現在のフォルダに親フォルダが存在しないときだけ実行する条件タグです。

  • 現在のフォルダに子フォルダが存在しないときだけ実行する条件タグです。

  • 現在のフォルダに親フォルダが存在するときだけ実行する条件タグです。

  • 現在のフォルダに子フォルダ存在するときだけ実行する条件タグです。

  • コンテキスト内に指定されたフォルダが含まれる場合に有効になる条件タグです。

  • ウェブページが属するフォルダに関する情報を取得するためのブロックタグです。

  • 現在のフォルダの親フォルダを表示します。

  • 最上位のフォルダから現在のフォルダまでを繰り返して表示するブロックタグです。

    glue モディファイアにより、フォルダをつなげる文字を指定できます。また、exclude_current モディファイアを指定することで、現在のフォルダを除外できます。

  • 現在のフォルダに属する子フォルダの MTSubFolders ブロックを再帰的に表示します。max_depth モディファイアで再帰的に表示する深さを指定できます。max_depth="1" と指定すると現在のフォルダの直下の子フォルダまでを表示します。

  • 現在のフォルダの子フォルダを階層化して一覧表示するブロックタグです。MTSubFolderRecurse ファンクションタグと組み合わせることで子孫フォルダを表示します。

  • 現在のフォルダの最上位フォルダを表示するブロックタグです。

  • 現在のフォルダに関わりなく、最上位のフォルダを一覧するためのブロックタグです。

    <mt:SubFolders top="1"> と記述することと同じ動作になります。

    詳しくは MTSubFolders タグを参照してください。

  • 現在のカテゴリの最上位カテゴリを表示するブロックタグです。