Movable Type 5.1のリスティングフレームワークで独自管理画面を作る(その2)
「Movable Type 5.1のリスティングフレームワークで独自管理画面を作る(その1)」のつづきです。
独自管理画面を追加する場合、サイドバーのメニューにも独自メニューを追加していると思います。ということで話が前後しますが、ここでは独自一覧画面を起動するための仕組みとメニューの追加方法を説明します。
1.リスティングフレームワークがリスト画面を表示する仕組み
公式サイトのドキュメントには次のような解説があります。
リスティングフレームワークは、 mt.cgi?__mode=list&_type=foo というリクエストに対し、対応するメソッド applications/cms/methods/list_foo が存在しない場合、 レジストリの listing_screens/foo および list_properties/foo から情報を収集して、自動的にリスト画面を生成します。
つまり、メニューをクリックしたときのリクエストが
http://user-domain/mt.cgi?__mode=list&_type=foo
の場合、config.yamlに
applications:
cms:
methods: $foo::$foo::list_foo:
などを設定していなければ、config.yamlの
listing_screens:
foo:
...
や
list_properties:
foo:
...
の定義を使って、リスト画面を作成します、ということのようです。
2.リスト画面を起動するリクエスト
1項の解説より、ある決まった形式のリクエストとconfig.yamlにlisting_screensやlist_propertiesの定義が用意されていれば、リスト画面が生成されることが分かりました。
「Movable Type 5.1のリスティングフレームワークで独自管理画面を作る(その1)」のリスト画面を起動するためのリクエストは次のようになります。
http://user-domain/mt.cgi?__mode=list&_type=address
リスト画面を起動する「__mode」の値は常に「list」ということと、「_type」の値にデータソース名「address」を設定することがキモになるようです。
3.config.yaml
あとは、2項のリクエストを生成できるように、config.yamlでメニュー部分を生成します。
hoge:
label: hoge
order: 650
hoge:list_address:
label: List Address
order: 100
mode: list
args:
_type: address
hoge:edit_address:
label: New Address
order: 200
mode: edit_address
Posted by yujiro このページの先頭に戻る
- Movable Type 5.1xのリスト画面のカラム幅を変更する
トラックバックURL
コメントする
greeting