2012年9月6日木曜日

[CakePHP]sccaffoldを使いたいけどindex、view、edit、addなどのアクションの自作もしたい

CakePHPでsccaffoldを管理画面的に使いたいのだけど、
indexやviewやeditやaddなどのアクション名をユーザ向けのアプリで
カスタマイズして使いたい場合、どうするか。

下記を参考にした。
普通のアクションとscaffoldを混在させる
3.12.1 Creating a simple admin interface with scaffolding

まず、app/core/config/core.phpに下記の一行を追加。

Configure::write('Routing.prefixes', array('admin'));

そして、controllerに下記4行目を追加。 するとindex()がカスタマイズ可能となる。
<?php
class ThemesController extends AppController {
        var $name = 'Themes';
 var $scaffold = 'admin';
 public $autoRender = false;
 function index(){
  print "hello world";
 }
}


すると、 index()は自由にカスタマイズできるのに、
sccaffoldの画面は下記のURLにアクセスすることで、
今までどおりの動きをする。

http://【ドキュメントルート】/admin/controller/index

ちなみに「var $scaffold = 'admin';」はapp_controller.phpに
入れれば全てのcontrollerに適用される。

※CakePHPのバージョンはcakephp-cakephp-1.3.15-9-gacd25c3.zip

0 件のコメント:

コメントを投稿