エントリーごとのページにカテゴリーリンクを表示

| コメント(0)

各エントリーごとのページ(Individual Entry Archiveテンプレート)のフッタ部分に、トップページと同様に各カテゴリーへの「件数入り」リンクを表示できるようにしました。
カテゴリーリンクを表示するだけならMain Indexテンプレートと同じものを記述すれば、そのままでもできるのですが、それだけだとカテゴリー内の件数が最新に保たれません。なぜなら、新しくエントリーをポストしたときに自動的にリビルドされるのは、

  • Main Index(トップページ)

  • Category Archive(各カテゴリートップ)

  • 今回ポストされるIndividual Entry Archiveと、その前後2枚のIndividual Entry Archive
だけだからです。その他のページにカテゴリーリンクを埋め込んでいたとしても、次回「全体リビルド」をかけるときまで「件数」などは古いままとなってしまいます
そこで「MTテンプレートに外部ファイルを埋め込む方法」の中から、今回はJavascriptによる埋め込みを使っていつでも最新のカテゴリーリンクが表示されるようにしてみました。今回はMTのタグを有効にしなければならないので、埋め込む外部ファイルをMTのテンプレートとして定義しなければなりません。

まず、「Footer Menu.js」というテキストファイルを作ってその中に

document.write('<div class="side"><MTCategories><a href="<$MTCategoryArchiveLink$>"><$MTCategoryDescription$></a>(<$MTCategoryCount$>) / </MTCategories></div>');
と書きます。これをサーバにアップして、MTのテンプレートとしてリンクさせれば良いわけです。
「Templateの編集」→「新しいインデックス・テンプレートを作る」で「Fotter Menu」等の名前で新しいテンプレートを作成して、
出力ファイル名:footer_menu.js
このテンプレートにリンクするファイル:MT_Templates/Footer Menu.js
のように設定して、先ほどサーバにアップした「Footer Menu.js」と同期がとれるようにします。さらに「インデックス・テンプレートを再構築するときにこのテンプレートを自動的に再構築する」にチェックを入れておけば、エントリーがポストされる度に、Main Indexと連動してこのフッターメニューの内容も更新される、という仕組みです。
最後に、Individual Entry Archiveテンプレート内の、カテゴリーリンクを表示したい部分に、
<script type="text/javascript" src="<$MTBlogURL$>footer_menu.js"></script>
と記述します。ここのパス指定は、先ほど「Templateの編集」で設定した「出力ファイル名」と同じパス・ファイル名になるようにします。
先ほどの「Footer Menu.js」内のソースがページに表示されると、こんな感じになります。
からだ・整体(3) / ブックレビュー(2) / 風のまにま日記(6) / DreamweaverでMovable Type!(6) / VAIOでTV生活(6) / ひょうたん島(5) / マクロビオティック(1) / マヤ暦・十三の月の暦(2) / Movable Type(9) / 映画(3) / ネパール舞踊(4) / 下北沢(2) / Blog・ウェブログについて(4) / サイトの更新履歴(5) / 活動履歴(2) /

コメントする

お気に入りBlog一覧




Powered By BlogPeople
BlogPeopleに追加

Skyphoto People

お役立ちツール

このサイトについて

多摩川のほとりでのんびり暮らす3人家族の日常と果てなき好奇心を綴ったブログです。

最近のコメント

バックナンバー

Timelog