お勧め度★★☆☆☆
コンテンツがある程度固定されていて、どうしてもこういう表現をしたい、という方のみ利用方法によっては有効かと思います。日記的でカテゴリーが随時増えていく場合などは向きません。もっとCoolな方法がでてくる可能性もあります。
このカスタマイズは具体的には、Permalink先のページでのサイドバーの最新の投稿が、その記事のカテゴリーのものだけが表示されるというものです。実際にこのウェブログの各記事のPermalinをたどると、サイドバーの最新の投稿が各カテゴリーごとに違うと思います。
Permalink(Individual )の時には有効ですが、カテゴリー(Category Archives)の時には同じ方法ができません。その方法については後日挑戦します。
注)必ずソースのバックアップをとってから行って下さい。このカスタマイズはMTタグなどによるカスタマイズについて程度分かっている方が対象となります。
今回の肝
「各permalinページでカテゴリIDを判断してそのIDから読み込むサイドバーファイルを変える」
全体の流れは、まず
1.各カテゴリーのIDを知る。
2.Individual Archivesを編集する。
3.「aカテゴリーID.inc」のファイルを作り、その内容を編集。同時に「sidebar.inc」ファイルも「a.inc」に変更する
4.sidebar.incの名前変更によるその他のファイルの修正
1.カテゴリーIDを知る。
Permalinkのページは、アーカイブテンプレートの「Individual Archives」によって生成されます。
まずIndividual Archivesのソースの一番下の方に
<!--#include virtual="/<$MTBlogDirname$>/sidebar.inc"->
という一文があると思います。これは、サイドバーのファイルを読み込んでいる物です。
とりあえず、カテゴリのIDを知るためにその一文の”下に”以下の一文を記述します。
<div id="a<MTEntryCategories><$MTCategoryID$></MTEntryCategories>"></div>
そして、保存して再構築後にウェブログの各記事のPermalink先へ行き、ソースをみてみるとサイドバーの一番下のあたりに
<div id="a18032"></div>といったような一文がみることができます。
この18032というのが各カテゴリーのIDナンバーとなっています。
各カテゴリーごとのidメモをしておいて下さい。
ここでポイントなのは「a」を先頭に追加していることです。もしカテゴリーを決めずに投稿しても「a」という名前がつくので判別できるからです。
2.Individual Archivesを編集する。
カテゴリーIDが分かったところで、実装のための編集を行います。
先ほどID確認のためにソースを変更した部分は、現在は以下のようになっていると思います。
<div id="right">
<!--#include virtual="/<$MTBlogDirname$>/sidebar.inc"-->
<div id="a<MTEntryCategories><$MTCategoryID$></MTEntryCategories>"></div>
</div>
この部分を以下のように書き換えます。
<div id="right">
<!--#include virtual="/<$MTBlogDirname$>/a<MTEntryCategories>
<$MTCategoryID$></MTEntryCategories>.inc"-->
</div>
こうすることによって各記事ごとに、aカテゴリーID.incのファイルを読み込むことになります。
3.「aカテゴリーID.inc」のファイルを作り、その内容を編集。同時に「sidebar.inc」ファイルも「a.inc」に変更する
各カテゴリーごとにサイドバーファイルを作成します。もちろんファイル名は、「aカテゴリーID.inc」になります。
以下はこのウェブログの例です。
もとのsidebar.incのファイルの中身をコピーし作成後、その内容の一部を以下のように編集しました。
ここで編集しているのは、タイトルの「最新の記事」を「初級編の最新記事」にしているのと、
<MTEntries lastn="10">を<MTEntries category=デザイン初級編" lastn="10">
にしている所です。こうするとカテゴリー名「デザイン初級編」の最新のエントリーのみの一覧が表示されます。
後は、標準のsidebar.incの名前をa.incに変更します。
4.sidebar.incの名前変更によるその他のファイルの修正
sidebar.incをa.incに変更したために、他のファイルも必要に応じて修正する必要があります。
変更が必要なテンプレート
Archive Index Template
Main Index Template
Category Archives
DateBased Archives
以上これですべてのファイルを再構築すればできると思います。
最近のコメント