- 2006-11-30 (木)
- MovableType
以前から「個別エントリーアーカイブ」に「カテゴリー」を表示させいと思っていたのですが、再構築時間が長くなるので敬遠していました。
ですが、サイドバーを JavaScript で書き出す方法を解説しているページを発見し、早速やってみました。
参考にさせていただいたページは、
です。ありがとうございます。
設定方法
まず、新しいインデックス・テンプレートを作ります。
テンプレート名
カテゴリー
出力ファイル名
categories.js
テンプレートの内容
function Categories(){
var h = "<MTIfArchiveTypeEnabled archive_type='Category'>";
h += "<div class='module-categories module'>";
h += "<h2 class='module-header'>カテゴリー</h2>";
h += "<div class='module-content'>";
h += "<MTTopLevelCategories>";
h += "<MTSubCatIsFirst><ul class='module-list'></MTSubCatIsFirst>";
h += "<MTIfNonZero tag='MTCategoryCount'>";
h += "<li class='module-list-item'><a href='<$MTCategoryArchiveLink$>'><$MTCategoryDescription$></a> (<$MTCategoryCount$>)";
h += "<MTElse>";
h += "<li class='module-list-item'><$MTCategoryDescription$>";
h += "</MTElse>";
h += "</MTIfNonZero>";
h += "<MTSubCatsRecurse>";
h += "</li>";
h += "<MTSubCatIsLast></ul></MTSubCatIsLast>";
h += "</MTTopLevelCategories>";
h += "</div>";
h += "</div>";
h += "</MTIfArchiveTypeEnabled>";
return h;
}
document.write(Categories());
※あらかじめテキストエディタでソース中のダブルコーテーションをシングルコーテーションに置換しておくと簡単です。
再構築オプション
チェックを入れておく
次に、カテゴリーを表示させたいページの好きな所に、以下のソースを追加。
<script language="javascript" type="text/javascript" src="<$MTBlogURL$>categories.js"></script>
該当するテンプレートを再構築する
以上です。
試しに再構築時間してみましたが「カテゴリー」を追加する前と変化なし(体感値)。
調子に乗って「最近のエントリー」なんかも外部 JavaScript ファイルにしました。
この改造によって、心配なのは、
- 属性値をシングルコーテーションで書いているが問題ないのか?
- 検索エンジンはリンクとして認識してくれるのか?
と言った所です。
検索エンジン対策に関しては、個別エントリーアーカイブに元々存在しなかった「カテゴリー」リンクを追加しただけなので、問題ないのではないかと思います。
とりあえず「カテゴリ追加の度に再構築の刑」が無くなっただけでも良しとする。
関連する記事
Comments: 0
Trackback+Pingback: 0
- TrackBack URL for this entry
- http://bowz.info/808/trackback
- Listed below are links to weblogs that reference
- Movable Type のサイドバーを JavaScript で書き出す from Bowz::Notebook