- 2008年3月 8日 15:13
- MTカスタマイズ | MovableType


MT4では、ウェブページを管理することができるようになりましたが、作成したウェブページを特定のフォルダで管理する場合に、そのフォルダのトップページとして、フォルダ一覧のページがあればいいかなと思い作成してみることにしました
MT4で、ウェブページは、特にアーカイブマッピングで指定しない場合、ブログトップページのディレクトリ配下にウェブページが出来ます。
MT4では、フォルダ管理機能があります。フォルダを作成してウェブページを整理していくことも可能なわけです。
このように、フォルダごとでウェブページを管理していく場合に、作成したフォルダのトップページ(例えばindex.html)があって、フォルダ内の一覧を出力してあるようなものがあったらいいかと考えました。
おおまかな手順メモとして示します
フォルダを管理してみる
メニューの [一覧] > [フォルダ] で、フォルダ管理画面になります
例えば、「web」という名前のフォルダを作成したいとき、「トップレベルフォルダを作成」をクリックします。 表示する名前にwebと入力して、「新規作成」をクリックで、<$MTBlogURL$>配下にwebディレクトリが作成されます。
フォルダの編集については以下のドキュメントを参照します。
*フォルダ名は「英語で表記することをお奨めします」とのことなので、この点に注意する必要があります
実際にウェブページでフォルダを指定して使うには、ブログ公開の[フォルダの変更](MT4.1で右ペインにあります)をクリックして表示されている任意のフォルダ名のラジオボタンをチェックします
フォルダトップページをインデックステンプレートで作る
ここでは、webという名のフォルダを作ってあるという例で/web/index.htmlというインデックステンプレートを作成することを説明していきます
インデックステンプレートを新規作成します。設定等はこのような感じです
- テンプレート名
- webのインデックス*1
- テンプレートの種類
- カスタムインデックステンプレート
- 再構築オプション
- 任意で設定*2
*1 何でもいいです。 *2 ワタくシはウェブページを作成後に手動でこのテンプレートを再構築するようにするので、インデックステンプレート再構築と同時に再構築しないようにしています。この辺はサイトの運営方法など絡んでくるかと思います
テンプレートの中身をつくる
基本的に、ウェブページアーカイブのテンプレートを丸ごとコピーして貼り付けです。
部分的な修正箇所は、ページタイトルなど、SetVarにタイトル名など指定してあるものを適切な値が得られるように変更します。
ページのコンテンツには、webフォルダ内のウェブページ一覧を示すための記述をいれておきます。例として、以下のようなものです
<MTPages folder="web" lastn="99">
<h2><a href="<$MTPagePermalink$>"><$MTPageTitle$></a></h2>
</MTPages>
folderモディファイアで任意のフォルダを指定します(ここではweb)。 lastn="n" は少なくとも、現在作成してあるウェブページの総ページ数以上は指定することになります。
<MTPages folder="web" lastn="99">
<MTPagesHeader><ul></MTPagesHeader>
<li><a href="<$MTPagePermalink$>"><$MTPageTitle$></a></li>
<MTPagesFooter></ul></MTPagesFooter>
</MTPages>
MTPagesHeader、MTPagesFooterが最初と最後に実行させるためのテンプレートタグです。
作成できたら、リビルドして作業完了です。
作成したページの例
[ 追記:2008年9月15日 ] The blog of H.Fujimotoさまにて、WriteToFileプラグインを利用したフォルダアーカイブページの作成方法が紹介されています。興味のある方は参考にされるとよいでしょう。
- 今回利用したテンプレートタグ
- 参考リンク:
- Newer: ActionStreamsのブログからメインブログに取り込んでみる
- Older: ログフィード取得でスケジュール処理可能に