我想做一个包含数据库操作的extension,我用yii shell生成了model和crud文件,然后把它们copy到了extensions下的一个文件夹中。我看官方文档写的说extension中的Controller是需要extends CExtController的,据说这样就能使用extension下的view,然后我就把Controller修改了一下。
但是我不知道怎么调用extension中的Controller的action,是在主干代码的某个view中Yii::import()么?import()里的内容应该对应哪个文件?或者是在地址上用类似extensionID/controllerId/ActionId的方式来调用action呢?请大家给些建议,谢谢~
好像少了一个最重要的东西,ApplicationComponent,现在是在主干的View中Yii::import(这个extends了CApplicationComponent的class文件),但是接下来的事情,虽然进到了extension中,但是在这个class中怎么调用Controller中的action呢?求助~谢谢~
yiqing95
(Yiqing 95)
3
在controller 目录下面 建立一个控制器 然后 包含进你的扩展 并继承那个扩展中的控制器 可以试试
wweett
(Yqy19861128)
4
可以配置ControllerMap看看,类似于
'controllerMap' => array(
'test' => 'ext.controllers.TestController',
),
之后可以访问 index.php/test/
yiqing95
(Yiqing 95)
5
配置controllerMap 是正解, 在main.php 中;
或者模块中 public $controllerMap = array(…); //覆写此变量,来自CWebModule :http://www.yiiframework.com/doc/api/1.1/CWebModule#controllerMap-detail