« [MT4]フィールドの順序が変更できない? | Technical | FirefoxからChromeに移れない理由 »

[MT4]プラグインなし、カテゴリやブログ記事の表示順を変える

| コメント(0) | トラックバック(0)

カテゴリやブログ記事の表示順を変えたいときって、これまでは、プラグインを入れたり、タイトルの先頭に番号を振って、表示の際にPHPの関数で数字の部分を削除して表示したりしてたと思いますが、プラグインもPHP関数もなし、MovableTypeの標準機能だけで好きなように順序を変えられるワザがありました。

ネタ元はこちら
プラグインなしでカテゴリの並べ替えを行う - m630.net


ポイントは、グローバル・モディファイア remove_html です。
HTMLタグを取り除く機能ですが、タグとか関係なく、単純に半角の<>で囲まれた部分を削除してくれます。
ということは、<>で囲んで番号を振っちゃえば、番号部分はMTが削除して表示してくれるということなのです。

例えば、カテゴリが

・フラッシュ
・アンミラ
・イラスト

となっていたら、普通は、アイウエオ順に

アンミラ
イラスト
フラッシュ

の順にソートされてしまいますが、タイトルの先頭に、

<01>フラッシュ
<02>アンミラ
<03>イラスト

とかいうふうに番号を振って、テンプレートで <$MTCategoryLabel remove_html="1"$> としてやれば、ちゃんと

フラッシュ
アンミラ
イラスト

の順で、<>を除いた形で表示されます。

ブログ記事も同様。
ブログ記事のリストテンプレートで、<$MTEntryTitle remove_html="1"$>と指定します。


なんでこれをやりたかったかというと、今やっている仕事で、とある会社の営業所紹介が営業所ごとにブログ記事になってて、これを都道府県別に北から並べたかったのです。
原稿はクライアントがバラバラと入力していくので、登録のたびにプラグインで順序を変えてくださいとは言えません。
でも、あらかじめ都道府県順の番号を決めておけば、営業所のブログ記事を投稿するときに、先頭に都道府県番号を付けてもらえればオッケー。
間違えてもラベルを付け替えてもらうだけだから、カンタンです。


注意としては、グローバルモディファイア encode_html が同時に指定されていると、<>が表示されてしまうこと。
当たり前なんですが、デフォルトのテンプレートではほとんど指定されているので、あちこち探して修正しまくらないといけないです。

トラックバック(0)

トラックバックURL: http://www.cherrypieweb.com/mt5/mt-tb.cgi/162

コメントする

月別アーカイブ

twitter