サイドメニューをモジュール化
サブカテゴリーを含む「サイドカテゴリー」や、「最近のエントリー」をテンプレートの「エントリー・アーカイブ」に追加し
ました。そして、再構築しようとしたら、ロリポップ!
サーバが500エラーを出力しました。
解決策をGoogleで探すこと1時間・・・
見つかりません。
しかし、原因は分かりました。コイツです。→<MTSubCatsRecurse>
このタグは再帰的にサブカテゴリーを表示させる役割を担っているそうです。
詳しくは、
・Movable Type ユーザマニュアル: テンプレート・タグ"
の下記辺りを参照してください。
・MTSubCatsRecurse
で、アプローチ方法を変えて見ることにします。他のブログがどのように表示させているのか?上記解決方法を探している副産物として見つけました。
■サイドメニューのモジュール化
新しいテンプレートを作成し、そこにサイドメニューのタグ類を置いてやります。そして、「メインページ」のテンプレートや「エントリー・アーカイブ」でそれを呼んでやればサイドメニューを表示させることが出来ます。何やら難しいそうですが、やることはクリックとコピーです。
Movable Typeの管理画面でテンプレートを表示させます。
次に、「テンプレートの新規作成」をクリックします。
下記のように入力してやります。
この時、「インデックス・テンプレートを再構築するときに、このテンプレートを自動的に再構築する」にチェックが付いていることを確認します。
テンプレート名:左サイドメニュー
出力ファイル名:LeftSideMenu.html
テンプレートの内容は以下のよう記述してやります。
※下記の例はカテゴリーのみの表示です。
<div id="beta">
<div id="beta-inner" class="pkg">
<!-- カテゴリモジュール -->
<MTIfArchiveTypeEnabled archive_type="Category"><div class="module-categories
module">
<h2 class="module-header">カテゴリー</h2>
<div class="module-content">
<MTTopLevelCategories>
<MTSubCatIsFirst><ul class="module-list"></MTSubCatIsFirst>
<MTIfNonZero tag="MTCategoryCount">
<li class="module-list-item"><a href="<$MTCategoryArchiveLink$>"
title="<$MTCategoryDescription$>"><MTCategoryLabel></a>
<MTElse>
<li class="module-list-item"><MTCategoryLabel>
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse>
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTTopLevelCategories>
</div>
</div>
</MTIfArchiveTypeEnabled> </div>
</div>
入力が終わったら、保存してテンプレートを再構築します。
次に、MTInclude タグを使って、
「メインページ」のテンプレートまたは「エントリー・アーカイブ」の表示させたい位置に下記のように記述してやります。
<!-- サイドバー左 -->
<$MTInclude file="LeftSideMenu.html"$>
あとは、保存と再構築を行えばWeb上に公開されます。
■モジュール化のメリット
ブログ本文とサイドメニューを別々にすることで下記のようなメリットが発生します。
・サイドメニューとブログ本文が別々になるので、サイドメニューの手直しが楽になる。(サイドメニュー用のテンプレートのみ修正を加えるだけで「メインページ」テンプレートや「エントリー・アーカイブ」テンプレートに反映される。)
・再構築のスピードがアップする。
完成形はご覧の通りです。

■参考サイト様
・アーカイブページに「最近のコメント」「最近のトラックバック」を表示する
・人気ブログランキング←参加中です。クリックお願いします。m(_ _)m