adminプラグインでらくらく管理画面作成

2008/10/19

テーブルができたらまずは管理画面が必要ですが、いきなりモジュールだったりログイン認証だったりに直面してしまい、いろいろとメンドくさそうです。
が、そこはadminプラグインで楽をすることができます。

ブログの管理画面

ブログの管理画面に最低限必要なのは、ログイン認証と/admin~などのモジュールとしてアクセスできるようにすることです。
こういうのをサクッとつくるのに、Akelosにはadminプラグインという便利なプラグインがあります。

Akelosのプラグイン

AkelosにもRailsのようなプラグイン機構があります。
現在リリースされているプラグインだったり、プラグインの入れ方などは以下のWikiに書いてあります。
Available plug-in repositories., Akelos PHP Framework Wiki
ここに書いてあるように、登録されているプラグインは、
> php script/plugin discover

で知ることができます。

adminプラグイン

今回は、ブログの管理画面をつくるのに、adminプラグインを使用しました。
このプラグインはブログなどの管理画面機能(ログインやらアクセス制御やら)を、URL /admin~でモジュールとして作成してくれます。
自力でconfig/routes.phpをいじったりしてモジュール化するのに試行錯誤してうまくいかないでいたので、このプラグインには助けられた。。
ただし、Akelos0.8ではインストールできませんでした。使うにはSVN版である必要があります。

インストールは、
> php script/plugin install admin

ここで、Fatal error: Call to undefined function  curl_init() in ・・・
というエラーがでたら、
php.iniのextension=php_curl.dllのコメントをはずして有効にするとうまくいきました。

これで、
config/routes.phpの先頭に、
$Map->connect('/admin/:controller/:action/:id', array('controller' => 'dashboard', 'action' => 'index', 'module' => 'admin'));
が追加され、/adminにアクセスでログイン認証、管理画面が使えるようになっているはずです。

admin_scaffold

adminプラグインをインストールすると、admin_scaffoldというコマンドが使えるようになります。
これはscaffoldをadminモジュール配下でうまいことやってくれるコマンドです。
フツーのscaffoldを
> php script/generate scaffold admin/weblog

とやってもadminモジュール以下にscaffoldできますが、Helperの対応づけなどがうまくいきません。
> php script/generate admin_scaffold weblog

と、admin_scaffoldコマンドでやると、Helperの対応づけもうまいことやってくれます。
実際、できあがったソースをみると、$controller_menu_optionsなんかはarrayのネストの嵐。。。ここまでやらんとモジュールうまく機能しないのか!?


ブログの管理機能なんてのは、自分しか使わないものですから、admin_scaffoldで生成したCRUDで十分です。
ブログアプリのメインは管理機能ではありませんから、管理機能はadminプラグインでサクッとつくって、メインに力を注ぐというのがよいのではないでしょうか。

PHP and Akelos | コメント(0) | トラックバック(0)
トラックバック
トラックバックURL:
コメントをどうぞ
名前 (入力しなければ「通りすがり」):

メールアドレス (入力しても公開されません):

URL (入力すればリンクが張られます):


コメント:

(コメントにタグなどを使ってもタグがそのままが表示されます)