携帯電話向け MT4i の個別記事から,PC 向けの元記事へのリンクを追加する。テンプレートに1行追加するだけでできる。
MT4i は Movable Type 用の携帯電話向け変換プログラムである (MT4i - t2o2-Wiki)。このサイトには2009年1月に導入したので,かれこれ3年近くになる (nlog(n): MT 2.661 で MT4i 3.1)。携帯電話で読みやすいように,レイアウトを変更したり,画像を縮小したりしてくれるプログラムである。当然,携帯版の記事の URL は PC 版の元記事とは違うものになる。
導入しているバージョンは MT4i 3.1a である。
先日,本サイトの MT4i 表示 (nlog(n) mobile ver.) を眺めていて気づいたことがある。「もし,携帯電話メインでこのサイトを見ていて,その記事について自分のブログに書きたいと思った読者がいたとしたら,そのリンク先は携帯バージョンの記事になるのではないか」ということである。
「携帯版の記事 ⇛ PC 版の記事」というリンクがあれば便利なのではないか。以下はその追加方法である。
MT4i には,もともと ENTRY_ORIGINAL_URL というテンプレート変数が用意されているので,これを使えばよい。個別記事用のテンプレート mt4i/tmpl/mt4i/individual.tmpl を編集して,次の強調部分を追加する。
「ICON_NO_4」「ACCESS_KEY_4」は,オリジナルの MT4i では使われていないパラメータなのだが,これをここで使うのが適切なのかは自信なし。「ICON_NO_1」〜「ICON_NO_4」,「ACCESS_KEY_1」〜「ACCESS_KEY_4」は空きになっている。
この強調部分は,次のように携帯版に変換される (HTML ソース)。
ENTRY_URL_ENCODE_ORIGINAL_URL というテンプレート変数も定義されているが,こちらの変換は次のようになっているため,
この用途には適さない。href="..." のリンク先は,URL エンコーディングされた (URLエンコード - Wikipedia) ひとつながりの文字列となる。「:」や「//」も単なる文字列としてブラウザに解釈される。すると,リンク先は,現時点で参照している URL からの相対アドレスになるため,上記の例であれば,「http://nlogn.ath.cx/m/http%3a%2f%2fnlogn%2eath%2ecx%2farchives%2f001428%2ehtml」となるため,ブラウザがアクセスする URL としては最終的に「http://nlogn.ath.cx/m/http://nlogn.ath.cx/archives/001428.html」と解釈されるからである。
Posted by n at 2011-11-09 23:35 | Edit | Comments (0) | Trackback(0)
Master Archive Index
Total Entry Count: 1957