- May 11, 2004 12:45 PM
- Movable Type | XHTML CSS
テンプレートによってエントリーのタイトルの見出しを上下させる場合、エントリー記事内に見出しを含めると、そのエントリーを見るテンプレートによってエントリー内の見出しのレベルが適切にならないという問題に悩んでました。
エントリーのタイトルは<$MTEntryTitle$>、本文は<$MTEntryBody$>というMTタグでそれぞれ分離しているので、エントリータイトルの見出しのレベルはテンプレートを書き換えれば上下させられるんですが、本文の中に見出しを書いた場合は<$MTEntryBody$>の中にまとめられるので、展開される場所によっては適切なレベルにならないことがあります。
エントリー単体記事での見出しのレベル
下の図は、エントリー単体ページ(individual temp)で、エントリーのタイトルをH1にした見出しの階層です。エントリーを投稿するときには、記事内の小見出しのレベルが適切になるよう、H2から使ってあります。
<h1>エントリータイトル</h1> ├<h2>エントリー内レベル2の小見出し</h2> │ ├<h3>エントリー内レベル3の小見出し</h3> ├<h2>エントリー内レベル2の小見出し</h2> │ │
インデックスから見たエントリーの見出しのレベル
同じエントリーをインデックスページから見た場合はH1をサイト名に奪われるので、エントリータイトルのレベルは繰り下がります。これはインデックスのテンプレートをいじればできますが、記事内の見出しは、最初に書いたように<$MTEntryBody$>の中にあるので、見出しのレベルを下げることができません。
<h1>BAZOOKA</h1> ├<h2>エントリーの見出し</h2> │ ├<h2>エントリー内部の見出し</h2> │ │ ├<h3>エントリー内部の見出し</h3> │ ├<h2>エントリー内部の見出し</h2>
強調された部分の見出しのレベルは、親の見出しが1つ繰り下がったことで、順々に1つずつ下がって欲しいところですが、それができないので不適切なレベルになっています。
解決方法
マクロプラグインを使って、テンプレートごとに見出しの定義を変えて調整するという荒業で対処してましたが、b^3が解決プラグインをチョチョイと作ってくれました。
リンク先に書いてあるコードをテキストエディターなどにコピーし、適当な名前をつけて拡張子をplにして保存、MTのpluginフォルダの中にアップロードします。あとは見出しのレベルを上下させたい部分、ここではエントリー本文のMTタグである<$MTEntryBody$>に<$MTEntryBody convert_hn_lv="-1"$>と付け加えれば終わり。"-1"の部分は適度に変更してください。Bazookaなら、Individual tempではエントリーのタイトルはH1で、Main IndexやCategory IndexだとH3になるので、エントリー投稿時に書く小見出しをH2にして、Individual以外のテンプレートでは"+2"させています。
- Newer: FLASHのFPSを正常に
- Older: MT:De リニューアル

