外部へのリンクをリダイレクタ経由にするプラグイン。MT 4/MTOS 4.1 対応。
外部へのリンクをリダイレクタ経由にするプラグイン「AddRedirector Plugin 0.10 for MT 4/MTOS 4.1」をリリースする。ダイナミックパブリッシングには対応していない。プラグインの登録にレジストリを使っているので,MT 3 以下では動作しない。ダウンロードはこちらから (nlog(n) - リダイレクタ追加プラグイン)。
先月からの企画 (nlog(n): おかげさまで4周年 - Movable Type Hackathon に参加) がようやく完了した。以下少し説明。
Web サイト A の Movable Type ブログにインストールする。A の記事内にある外部リンク (例えば C へのリンク) を,リダイレクタ B 経由に変更するプラグインである。このプラグインは,B が自分の管理下にあるかどうかについては関知しない。このプラグインが提供するのは,外部へのリンクをリダイレクタ経由にするというだけである。
このプラグインは,上の図のように,自分で管理しているリダイレクタとセットで利用することで意味が出てくる (nlog(n): リファラの送出を防止するリダイレクト CGI)。自分の管理下にあるリダイレクタを経由することで A のリファラを外部に流さないようにするのが目的だからである (nlog(n): イントラサイトの URL を内緒にしたい)。
ブログのプラグインとして動作する。設定画面において,「リダイレクタのURL」と「除外する文字列」を設定する。「除外する文字列」は空欄でよい。この場合,自ブログ内へのリンクが除外対象となる。
テンプレートにおいては,リダイレクトさせたい部分を <MTAddRedirector> と </MTAddRedirector> で囲む。<MTAddRedirector> は MT4 風に <mt:AddRedirector> のように書いてもよい。例えば,次のように使う。
グローバルモディファイア urlredirect は <MTAddRedirector> タグと同様の機能の機能を提供する。次のように,MTEntryBody タグなどの属性として与える。
<MTAddRedirector> 内に urlredirect が設定されていても,リダイレクタが2重にならないようになっている。実はこれでハマッた。これについてはそのうち書きたいと思っている。当初,グローバルモディファイアの名前を「redirect」にしようと思っていたが,OptionalRedirect プラグインと名前が衝突するために「urlredirect」に変更した。
MT4 から,テンプレートタグの書式が拡張された。大文字小文字の区別はなくなり,「MT」の後ろにコロンをつけて,XML の名前空間の書式のように「mt:entries」と書くことが許されるようになった (What's New for Templating in MT4 | Movable Type Docs)
グローバルフィルタが提供する属性は,MT4 から「グローバル・モディファイア」に呼び名が変わったようだ (グローバル・モディファイアリファレンス)。MT3 では「グローバル・タグ・アトリビュート」と呼ばれていた (グローバル・タグ・アトリビュート)。モディファイアという呼び方は,Smarty の用語から来ているようだ (Movable Type 3.3 マニュアル - ダイナミック・パブリッシング)。
Posted by n at 2008-02-20 23:36 | Edit | Comments (0) | Trackback(0)
Master Archive Index
Total Entry Count: 1957