mtde.info

Movable Type Developers Express

このカテゴリでは、Movable Type 4 から追加された、ウェブページの取り扱いに関するサンプルを紹介します。

『ウェブページ関連サンプル』カテゴリ内のエントリ一覧

素ノーマルウェブページリスト

2008年2月 9日 10:36 | Writer: apstar | 記事本文

Movable Type 4.1のウィジェットに格納されているページ一覧のコードから不要部分を除去したコードサンプルです。

ルートフォルダ全て、フォルダ・サブフォルダを全て再帰的に取得し、リスト化します。

コード

<MTPages no_folder="1">
   <MTPagesHeader>
   <ul>
   </MTPagesHeader>
      <li><a href="<MTPagePermalink>" title="<MTPageTitle>"><MTPageTitle></a></li>
   <MTPagesFooter>
   </ul>
   </MTPagesFooter>
</MTPages>
<MTTopLevelFolders>
   <MTIfNonZero tag="MTFolderCount">
   <ul>
   <li><$MTFolderLabel$></li>
      <ul>
      <MTPages>
         <li><a href="<MTPagePermalink>"><MTPageTitle></a></li>
      </MTPages>
      </ul>
   <MTElse>
   <li><MTFolderLabel></li>
   </MTIfNonZero>
   <MTSubFolderRecurse>
   </ul>
</MTTopLevelFolders>

トップレベルのウェブページのみ抜き出す

2008年2月 9日 10:48 | Writer: apstar | 記事本文

トップレベルのウェブページのみを取得するコードサンプルです。

MTPagesブロックタグへ、no_folder="1"モデファイアを指定すると、簡単に実現できます。

コード

<MTPages no_folder="1">
   <MTPagesHeader>
   <ul>
   </MTPagesHeader>
      <li><a href="<MTPagePermalink>" title="<MTPageTitle>"><MTPageTitle></a></li>
   <MTPagesFooter>
   </ul>
   </MTPagesFooter>
</MTPages>

トップレベルのウェブページのみ抜き出しグローバルナビゲーション作成

2008年2月 9日 10:52 | Writer: apstar | 記事本文

トップレベルのウェブページのみを抜き出し、グローバルナビゲーション用のリストを作成するコードサンプルです。

テンプレートタグで取得するリストへ、ホーム(トップページ)へのリンクとアーカイブページへのリンクをコードの手書きで追加しています。トップレベルのウェブページをあとから追加した場合は、自動的にリストへ追加されます。

以下のコードはMTArchiveListタグを用いた場合とMTPagesタグを用いた場合の2通りの例です。リストの並びが若干変わることがありますが、ページは同じものを取得します。サブフォルダにもウェブページが存在する場合は、コード2を用いてください。

コード1(MTArchiveListタグを用いた場合)

<ul>
   <li><a href="<MTBlogURL>" title="ホーム">ホーム</a></li>
   <MTArchiveList archive_type="Page">
      <li><a href="<MTArchiveLink>" title="<MTArchiveTitle>"><MTArchiveTitle></a></li>
   </MTArchiveList>
   <li><a href="<MTBlogURL>archives.html" title="サイトマップ">サイトマップ</a></li>
</ul>

コード2(MTPagesタグを用いた場合)

<ul>
   <li><a href="<MTBlogURL>" title="ホーム">ホーム</a></li>
    <MTPages no_folder="1" sort_order="ascend">
        <li><a href="<MTPagePermalink>" title="<MTPageTitle>"><MTPageTitle></a></li>
    </MTPages>
   <li><a href="<MTBlogURL>archives.html" title="サイトマップ">サイトマップ</a></li>
</ul>

トップレベルのウェブページのみ抜き出しドロップダウンリスト化

2008年2月 9日 11:10 | Writer: apstar | 記事本文

トップレベルのウェブページのみを取得し、ドロップダウンリスト化するコードサンプルです。

MTPagesブロックタグへsort_order="ascend" モデファイアを付加すると、ウェブページ作成順に並びます。

コード

<h3>ドロップダウンウェブページリスト</h3>
<select onchange="nav(this)">
    <option>ウェブページを選択</option>
    <MTPages no_folder="1" sort_order="ascend">
        <option value="<MTPagePermalink>"><MTPageTitle></option>
    </MTPages>
</select>

<script type="text/javascript" charset="utf-8">
function nav(sel) {
if (sel.selectedIndex == -1) return;
var opt = sel.options[sel.selectedIndex];
if (opt && opt.value)
location.href = opt.value;
}
</script>

トップレベル以外のウェブページをリスト表示

2008年2月 9日 11:15 | Writer: apstar | 記事本文

トップレベル以外のウェブページのみを取得するコードサンプルです。

MTPagesブロックタグへ、no_folder="0"モデファイアを指定すると、簡単に実現できます。

コード

<MTPages no_folder="0">
   <MTPagesHeader>
   <ul>
   </MTPagesHeader>
      <li><a href="<MTPagePermalink>" title="<MTPageTitle>"><MTPageTitle></a></li>
   <MTPagesFooter>
   </ul>
   </MTPagesFooter>
</MTPages>

特定フォルダ内のウェブページリスト

2008年2月 9日 11:22 | Writer: apstar | 記事本文

特定フォルダ内のウェブページリストを取得するコードサンプルです。

MTPagesブロックタグへ、folder="testfolder"というように、フォルダを指定するモデファイアを指定すると、簡単に実現できます。

コード

<MTPages folder="testfolder">
   <MTPagesHeader>
   <ul>
   </MTPagesHeader>
      <li><a href="<MTPagePermalink>" title="<MTPageTitle>"><MTPageTitle></a></li>
   <MTPagesFooter>
   </ul>
   </MTPagesFooter>
</MTPages>

サブフォルダのサブフォルダ内ウェブページリスト

2008年2月 9日 11:25 | Writer: apstar | 記事本文

MTPagesブロックタグへ付加できるfolderモデファイアは、testfolder/subfolderでも、単にsubfolderでも、同じ挙動を示すようです。つまり、以下の2例のコードは同じ結果を返します。

<MTPages folder="testfolder/subfolder">
<MTPages folder="subfolder">

注意点ですが、サブフォルダというものはメインフォルダと同じ名前にすることもできますので、サイト内のフォルダの命名のやり方によっては、単にsubfolderを指定すると、その結果は絶対正しいわけではないということです(未確認)。なお、フォルダ名を間違えると再構築エラーとなります。

リファレンス(http://www.movabletype.jp/documentation/appendices/tags/pages.html)通り"testfolder OR subfolder"とやると、サブフォルダ内のウェブページとサブサブフォルダ内のウェブページとを全部取得できるようです。

以下に示すコードでは、サブフォルダ内のウェブページとサブサブフォルダ内のウェブページとを全部取得します。

コード

<MTPages folder="testfolder OR subfolder">
   <MTPagesHeader>
   <ul>
   </MTPagesHeader>
      <li><a href="<MTPagePermalink>" title="<MTPageTitle>"><MTPageTitle></a></li>
   <MTPagesFooter>
   </ul>
   </MTPagesFooter>
</MTPages>

MTPagesとMTArchiveList の挙動の違い

2008年2月 9日 11:45 | Writer: apstar | 記事本文

MTPagesとMTArchiveList の挙動には、若干の違いがあります。実際のサンプルコードでそれを説明します。

MTPagesの場合のサンプルコード:

<ul>
<MTPages>
   <li><a href="<MTPagePermalink>" title="<MTPageTitle>"><MTPageTitle></a></li>
</MTPages>
</ul>

MTArchiveListの場合のサンプルコード:

<ul>
<MTArchiveList archive_type="Page">
   <li><a href="<MTArchiveLink>" title="<MTArchiveTitle>"><MTArchiveTitle></a></li>
</MTArchiveList>
</ul>

MTPagesとMTArchiveListでは、取得できるウェブページリストは同じものです。

並べ替えモデファイアがない場合では、MTPagesタグでは、取得できるウェブページリストは生成順に並んでいます。対してMTArchiveListタグでは、取得できるウェブページリストは文字コード順に並んでいます。

エントリ
タグ
はじめに
導入編
ローカル環境
変数
サンプル
その他
トラブル集
2008 mtde.info