ダウンロードを一旦止めていましたが、修正して
再開しました。2008.12.18 以前にダウンロードしていた方はお手数ですが、再度ダウンロードしてください。(バージョンはあげていません)
SkinnableAdminの開発用Nucleusでは、
スペシャルスキンタイプを動的に変更できるといいのにな。の改造を施しています。公開するにあたって、一応コアの改造が不要なようにしたのですが、公開直前に差し込んだコードのテストが不十分でポカミスしていました。
まだまだ問題は山積、テストも不十分なんですが、構造サンプルということで一旦公開いたします。しょぼくてすみません。
今のところ、、
・管理画面作成フレームワーク(作りかけ)
・overviewアクション
・itemlistアクション
・createitemアクション
・additemアクション
を実装しただけです。プラグインの対応も不十分です。
管理画面作成フレームワーク自体の構造が変わる可能性もありますので、各アクションの実装方法ドキュメントはまだ着手していません。
...続きを読む
#[追記] 動的に指定できるといいのにな。 のほうが適切かな。
スペシャルスキンパーツのことなんですけど、自分の中では「スペシャルスキンタイプ」とよんでます。
使用するスキンはグローバル変数 $skinid を変更することで動的に変えることができますが、スキンタイプは InitSkinParse イベントで値渡しされるため、プラグインで変更することができません。
SKIN.phpの以下の部分、
$manager->notify('InitSkinParse',array('skin' => &$this, 'type' => $type));
リファレンス渡しになれば、夢が広がります。
SkinnableAdminの管理ページは、スペシャルスキンタイプを使っています。URLに任意のパラメータが与えられると発動し、(プラグインオプションで)設定したスキンの「Admin」スキンタイプをパースします。現状では上記箇所をリファレンス渡しに改造するか、InitSkinParse イベント以降の制御を無理やり奪うかのどちらかが必要になります。
スキンタイプがリファレンス渡しになれば、他にも面白いことができるんじゃないかと思います。