- 2009-10-11 (日) 23:10
- MovableType


- なんとなくやってみた、MT5でのLinkRoller
プラグインのMT5用への書き換え方のコツが解って来たようなので、ためしにLinkRollerをMT5で動作する様に改造してみました。
まずは「LinkRoller.pl」を修正しました。
MT4.xでは「新規作成(Create)」メニューの下に配置されていたのを、「アイテム(Asset)」メニューの下に変更します。「$plugin->registry」で「menu」を追加している部分の、「'create:link'」が「新規作成(Create)」メニューの下に「link」を追加だから、ここを「'asset:link'」に変更すれば「アイテム」の下に表示されるようになります。
あとは追加してる「asset:link」の中身を適宜変更。なんとなくラベルも「Create Link」に変更しました。元は、クリックでMT4でのダイアログで開く様になっているので、呼び方知らないけど「__mode=なんちゃら」に変更します。というのもMT5だと、左のメニューからダイアログが開くようなUIは存在しないんですよねぇ。
「mode => 'quickadd_link',」で「mt.cgi?__mode=quickadd_link」が呼び出されます。どうやら後ろに自動で「&blog_id=<$MTBlogID$>」がくっつくみたい。ウェブサイトでも表示できるように、「view => [ 'blog', 'website' ],」にしてやります。
「LinkRoller/tmpl/quickadd.tmpl」がリンクURLの入力画面表示に使われるテンプレートなのですが、ダイアログを前提にしているので、管理画面に組み込まれる様に、インクルードしているヘッダーとフッターを変更してやります。相対位置指定(?)なので「cms/include/header.tmpl」を読み込むと、他の管理画面と同じようにメニューやフッターが表示されます。
URL入力後はアイテム編集画面に切り変わります。この画面の中身は「LinkRoller/tmpl/edit_link.tmpl」ですが、MT4とMT5ではアイテムの表示画面がだいぶ変更されています。プラグインのままだとMT4に準拠したアイテムの表示になるので、MT5デフォルトのアイテム表示(tmpl/cms/edit_asset.tmpl)を元に作り直しました。
もちろんプラグインで追加されている項目の入力欄等を追加、動作に必要なJavascript等を移植しています。MT5のアイテム画面は、なぜか下へと項目を追加しているようなので(真ん中のスキマが妙に気になるんですけど)、下に項目を追加(オリジナルプラグインは、項目の表示非表示をコントロールしてましたが、すべて表示状態にしてます)したので、えらーく縦長な画面になっています。アクションに「Generate Thumbnails」が表示されちゃってるのは、LinkRollerのせいと言うよりは、「Image Cropper」プラグインの方でアイテムの種類による表示制限をしていないせいですね。
一応これで、最低限の動作はするようになりました。アイテム一覧にも表示されるし。
ちなみに、オリジナルの「LinkRoller」プラグイン自体はMT4用に最初に登場した時から、一切変更が行われていません。その為プラグインでは、もともとmt_assetにフィールドを拡張してデータ保存していたのですが、MT4.1以降(確かそのタイミングだったと思うのですが?)mt_assetなどは拡張せずにmt_asset_metaにデータを置くようになった為、追加分(author, Link Target, XFN Relationship)のデータ保存が正常に行われない問題が存在します。これは別にMT5になる前から存在していた問題で、その点に関しては一切手を付けていません。
ただ、どうやら最近「arvind's movabletype-linkroller at master - GitHub」が出来たようなので、いつか対応される事を、期待したいと思います。
- Newer >: 今頃SAUG2009
- < Older: プラグイン。ああプラグイン、プラグイン
ping a Trackback
- TrackBack URL for this entry.(1)




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