fc2ブログ

2009

03/18


MTでサイトを作っていて、AtomのFeedがエラーで出力されてない事に気づく。

テンプレは標準のままなのに原因がわからない。

4.2辺りからかどうかは定かではないが、今まであったRSSのFeedも無くなっている。

多分RSSならちゃんと出る気がしたが、わざわざ古いバージョンからRSSのテンプレを引っ張ってきて作るのもなんだし、Atomが無いと今後困るのかも知れない

テンプレから無くなったってことはRSSよりAtom1本でOKとの判断だろうし・・・

というわけで原因追及

で、下記記述を発見

昨年春頃、ブログをRSSで読まれている方から、「atom.xmlが読めません」と、ご指摘があった。特にその時は何をしたというわけでもないので、どうやらMT3.3から、MT4.1にアップグレードしてから、読めなくなったようだ。

?中略?

atom.xmlが読めなかったのは、カテゴリー名の前に入れた<001>等のタグが原因だった。MT3.3までは問題が起きていなかっただけに、原因がわからなかったのだ。


Movable Type 4.2:カテゴリー名にタグを入れると、Atomで出力エラーがおきる

ナルホド。そういや、IEでそんなエラー表示を見た気が<気付けよ!

コチラのサイトではカテゴリの並び替え用<数字>を排除することで対処されたようだが、それではカテゴリが意図した順番に表示されない。

プラグインを使えば対応出来るが、それはそれでダイナミックに対応出来なくて困る


なにか方法がないかと探っていたところこんな方法を発見

基本的な並び替え方はMT3の時にやっていた「カテゴリーの頭に数字をつける」方法です。
頭に数字をつけておけば数字順にカテゴリーが並び替えられて表示されるのでそれを利用します。
ただ、そのままではカテゴリー名に数字が付いたまま表示されてしまうため、どうにかしてその頭の数字を消す必要があります。


MT3の時にはFirstCutCharやpmHeadChangerなどのプラグインを使って数字を消していましたが、MT4ではregex_replaceモディファイアを使います。
regex_replaceを使うと正規表現による置換ができるので、とても便利です。


MT4でプラグインを使わないカテゴリーの並べ替え方

コレダ!

これならダイナミック環境でも大丈夫そう。


というわけで試す。

今まで「<001>カテゴリ1」としていたものを「001.カテゴリ1」と変更

これまで「<remove_html="1">」で表示される「<001>」を排除していたが、以下の記述に変更。

<$MTCategoryLabel regex_replace="/^\d{1,}\./",""$>

置換して書き換えたので意外に手間も掛からず完了


ブックマークに追加する


* Tags:WEB MovableType MT4.2  *

コメントする












管理者にだけ表示を許可する

トラックバックurl

http://bluelucky777.blog120.fc2.com/tb.php/13-0e0037ba

| ホームへ |

Topics

RSSリーダーに登録


Recommend