MT4、TopLevelCategories配下でMTArchiveFileを使うとindexと出るエラー
例えばなんですが・・・
記事投稿して、出力ファイル名にはもちろん重複しない半角英数字8桁を設定していたとします。
トップページで以下のように記述して、リンク一覧を作ります。
<mt:TopLevelCategories>
<b><$mt:CategoryLabel remove_html=”1″$></b>
<ul>
<mt:Entries>
<li><a href=”<$mt:BlogURL$>/<MTArchiveFile extension=”0″>_1.html“><$mt:EntryTitle$></a></li>
</mt:Entries>
</ul>
<br>
</mt:TopLevelCategories>
このとき、<MTArchiveFile extension=”0”>の値が
すべて「index」と出力されてしまうんですよね。
個別エントリだとこのタグ使ってもちゃんと出るんですが。
また、カテゴリ設定していないエントリーであれば、きちんと出力ファイル名に設定してある半角英数字が出てくるのですが・・・
何故すべての「出力ファイル名」の値が「index」に置換されているのか…わから~ん。
入ってないのかな?いやいや、他の個別記事のエントリではちゃんと出てるねんって。
MTArchiveFile
このタグは、MTArchiveListタグの中で利用します。
http://www.sixapart.jp/movabletype/manual/3.3/a_template_tag_reference/
そんなこと言われても、出る場合もあるねんで~
解決方法を知っているひとがいらしたら、ぜひ、琉海までメールでご連絡くださいm(_ _)m
【追記】2008/10/20にMTマスタースクールのKotaさんから連絡があって
(このブログのテンプレート作ったひとですね)
別の方法で回避できました!
いわく「<MTArchiveFile>がindexになっちゃうのは、
<MTTopLevelCategories>の処理が<MTEntries>よりも優先されるからだと思う。
つまりカテゴリに属すエントリーの場合、<MTArchiveFile>はカテゴリーページのファイル名を指しているんだと思う。だからindexになるのではないかと。」
とゆわけで、あっさりあきらめて、正規表現を使った方法でファイル名を使うことに。
<$mt:EntryPermalink regex_replace=”/\.html$/”,”_1.html”$>
これを応用して、うまくできました~♪
ちなみに、やりたかったのはライブドアブログからMTへのお引越し。
且つ、URLの変更ナシで!
http://mm.dreamscome2rue.com/
がむばりましたです。でも、コメント欄とトラックバック欄のデータ移動には失敗しました・・・
ま、いいや・・・コンテンツ含め、再編成中です♪