Movable Type 備忘録
各テンプレートの identifier を変更可能にする
- Prev Page: ダイナミック・パブリッシング
- Next Page: ログイン画面カスタマイズ
こんばんわ^^
個人情報の流出、保護が騒がれてる昨今、一家に一台シュレッダーというのもめずらしくないと思います。
わが家のシュレッダーがとうとう壊れちゃいました Σ( ̄Д ̄;)!!
今使ってるシュレッダーは家庭向けの小っちゃなシュレッダーで、短冊状に裁断する程度のものなのですが 5 年間使いつぶしました。
でも、まぁシュレッダーも 5 年間フルに使ってもらえたことで、シュレッダー冥利につきたと思います (●´∀`●) って自分で言ってるし。
ということで、新しいの注文してみました。
フェローズってとこのシュレッダーです。
カードも裁断することができる、パーソナルシュレッダー M-460Csってやつをセレクトしてみました。
2×8mm の微細断クロスカットが可能なようで、静音設計なんだとか。あと、CD も裁断できるとのことです。
価格ドットコムの最安値は 25,508 円と半額以下!? で手に入る代物です。
なかなか評判が良いようなので注文してみました。早く届かないかなぁ (●´∀`●)
さて、本題です。
oscarさんとこで、identifierをどうにかしたい訳だがという、気になる記事がご紹介されてました。
Movable Type の各テンプレートにはユニークな ID が割り振られています。それが identifier というもののようですが、通常ではこの identifier は使う側の意思で自由に変更することができません。
てか、Movable Type 内部でも identifier を使用してる!? とのことなので、無闇に変更していい ID でもないようです。
※たぶん、システムテンプレート以外は問題ないと思われまする。
identifier の本来の用途は分からないのですが勝手な想像するに、多言語化された Movable Type において、テンプレート名称を指定するのはナンセンスです。
そこでブログ内でユニークな ID として割り振っておくことで、システム側からテンプレートの再構築を行う際 identifier を使うことで各自で異なるテンプレート( コメント、ブログ検索 )の再構築が可能になるのではないかと。
要するにユニーク ID で指定すれば、テンプレート名称が日本語だろうと英語だろうと構わないでしょ ( ̄∇ ̄)b と思ってまする。
左図は Movable Type のデフォルトで割り当てられている、各テンプレートの identifier を示したものです( これがすべてじゃありません )。
普通にブログする分にはあまり影響ないかと思いますが、わたしは identifier の需要が割りとあるので oscar さんの記事を元に、identifier の表示/編集ができるようカスタマイズしてみました。
identifier の一覧表示/編集するカスタマイズ
- テンプレート編集画面
mt/tmpl/cms/edit_template.tmpl - テンプレート一覧画面
mt/tmpl/cms/include/template_table.tmpl
上記のファイルを変更します。
代替テンプレート作成
テンプレート編集画面とテンプレート一覧画面の代替テンプレートを用意します。
上記ファイルを mt/alt-tmpl/ の中に同じフォルダ構成でコピー & ペーストします。mt/+-- alt-tmpl/| +-- cms/| | +-- edit_template.tmpl| | || | +-- include/| | | +-- template_table.tmpl
ちなみに alt-tmpl/ フォルダというのは、mt/tmpl/ フォルダ配下のファイルをカスタマイズしたい場合、AltTemplatePath 環境変数で定義されたフォルダ( デフォルトは mt/alt-tmpl/ )内に同一ファイル構成で格納しておけば、そちらが優先されて使用されます。
テンプレート編集画面とテンプレート一覧画面を変更
元記事を参考にテンプレート編集画面の代替テンプレート( edit_template.tmpl )に追加します。サンプルとして、わたしが修正したものを以下の場所に置いておきますね。参考にしてください。
以上です。
identifier は MTLink、MTInclude、MTIncludeBlock で使用可能です。
Trackback Pings(0)
No trackbacks found.






> identifier は MTLink、MTInclude、MTIncludeBlock で使用可能です。
MTLink で identifier は使えるのですか? 自分の環境で試したら動かなかったのですが……。
>>1 4n5 さん
えと、記事中にも明記してますように、ここで説明してる identifier はモディファイアを指してるのではなく、ユニークな ID というものです。
ですので、MTLink では template モディファイアを使って identifier を指定してあげれば期待する URL が表示されるはずです。
ご確認ください
>>2 bzbell さん
<$MTLink template="*"$> という記述で無事動きました!
MTLink の場合は template モディファイアを使うのですね。
> ここで説明してる identifier はモディファイアを指してるのではなく、ユニークな ID というものです。
それは理解していましたが、実際の記述方法として template モディファイアを使うとは考え至りませんでした。
公式ドキュメントで template モディファイアは「テンプレートの名前を指定してリンクを作る」と説明されていたので「テンプレート名」以外を記述するなんて思っても見ませんでした。
MTInclude には identifier モディファイアがあったので MTLink も identifier モディファイアで動くと思い込んでいました。
ありがとうございました。
>>3 4n5 さん
> 公式ドキュメントで template モディファイアは「テンプレートの名前を指定してリンクを作る」と説明されていたので「テンプレート名」以外を記述するなんて思っても見ませんでした。
そうなんですよねぇ。
ドキュメントでは特に明記がないので通常は知らないかもしれませんね。
わたしもデフォルトのテンプレートを解析しなければ知りませんでしたから
今後ともどうぞよしなに