- 2009-05-21 (木) 22:23
- MovableType


- iPhoneテンプレート・今更取り上げてみる
ちょっと前エントリーがGDGDだったので、仕切り直して整理してみよう。<何を偉そうに・・・
先週の土曜日にcrema先輩のお顔見て、書きかけのエントリーの事思い出しました。
なので、久しぶりに iPhoneTemplates いじりだして、ちょっと気が付いた部分があるので、エントリーにします。
ベースのテンプレートセットがどうなっていれば、混乱が少ないかです。
アーカイブの拡張子の問題
通常は「設定」>「公開」>「アーカイブオプション」の「ファイルの拡張子」でアーカイブファイルが作成されます。
この場合の拡張子は<$MTBlogFileExtension$>(もしくは%x)で取得できるのですが、必ずしもすべてのアーカイブをその拡張子にしたい訳でも、しなくてならない訳でもありません。
状況によって拡張子が変更される場合があるので、これはあくまで、拡張子部分は手書きで書くような運用で、紛らわしさを回避する必要があります。
それ以外の拡張子として、アーカイブ(この場合はiPhone用エントリー)を出力したい場合は、必要な個所を修正しなくてはならない旨を追記するようにします。
つまりエントリーの出力ファイル名は「%-F.html」としておきます。アーカイブマップ部分だけでなく、テンプレート内でのリンクも同じ内容を表すテンプレートタグ「<$mt:ArchiveFile extension="0" separator="-"$>.html」にしておきます。
アーカイブ出力先が設定されているときの、出力先の問題
公開設定でアーカイブの出力パスを設定している場合、エントリーの出力される場所の指定が複雑になります。
アーカイブの出力パスから、ブログサイトパスの下の「i」フォルダを起点とした出力を行わなくてはならないからです。
いろいろ考えてみたのですが、汎用的なアーカイブパスを考えると、相対パスへと変換するプラグインを使用したアーカイブマップぐらいしかないという結論に至りました。
テンプレートセットも同じプラグインだから、相対パスへの変換を組み込んでもいいかもしれないと思います。
この用途で相対パスに変換する、プラグインはどれが良いかを検討しました。
試したのは以下の4つ。
- MTTruncateURL_Plugin - ogawa - Canonical URLを相対URLに変換するプラグイン。 - Google Code
- abs2relプラグインというのを作って相対パスにしてみた。 (Junnama Online (Mirror))
- URLの表示をパス指定に変換するグローバルフィルタプラグイン:Abs2Rel | Movable Typeプラグイン配布 | MTエンジニアブログ | スカイアークシステム
- MT Extensions: MTRelativeURL 1.0
色々試しましたが、大半のプラグインは、単純に既存のURLを、パスへと変換するだけの機能でした。
しかし欲しいのは、アーカイブパスを起点とした、サイトパス(正しくはその下の「i」)への相対リンクです。
リンクの起点が指定できるのは、結局MT Extensionsのプラグインのみが、用途を満たす事がわかりました。(MT変数でも、バリバリやって解決も不可能ではないでしょうけどね)
という訳で、出力先は、こんな風に指定します。
<MTRelativeURLBase><$MTBlogArchiveURL$></MTRelativeURLBase><MTRelativeURL><$MTBlogURL$></MTRelativeURL>i/%-c/
これを先程の出力ファイル名と合わせると、アーカイブマップの指定はこの様になりました。
<MTRelativeURLBase><$MTBlogArchiveURL$></MTRelativeURLBase><MTRelativeURL><$MTBlogURL$></MTRelativeURL>i/%-c/%-F.html
こうしておけば、MTRelativeURL 1.0プラグインは必要ですが、この状態からテンプレートやアーカイブマップの変更をしない限り、問題は発生しないと思います。
今現在は、ここら辺の整理をおこないつつ、テンプレート(特にエントリー周りのテンプレート)の修正を行っています。
小粋空間: HTTPUserAgent プラグインを使って、iPhone用のコメント動作が可能ですので、そちらとあわせて、テンプレートセット(テンプレット)を作成し、出来次第では公開する予定でいます。
- Newer >: Recent(最近の)言わんといて!
- < Older: 空の親カテゴリーでのEntrywithSubCategoriesの出力
ping a Trackback
- TrackBack URL for this entry.(1)




スクリプトの読み込みが完了していません。
メールフォーム(Javascriptを使用していません)や、
Twitter経由のCommentでもReplyいたします。ただし返信はブログのコメントとして行う事もあります。