我已经创建了一个模块,在这个模块中我有一个Action。这是我的模块结构:
modules
admin
controllers
actions
在我的主控制器中,我有这段代码:
function actions()
{
return array(
'approveEntity' => array(
'class' => 'application.modules.admin.controllers.actions.ApproveEntityAction'
),
但是当我运行页面/pendingEntries/approveEntity
我收到此错误消息:
别名 " application.modules.admin.controllers.actions.ApproveEntityAction"是 无效。确保它指向现有的PHP文件,文件是 可读的。
什么是正确的"路径"我的ApproveEntityAction.php
档案?
更新
我们正在导入这个:
// autoloading model and component classes
'import'=>array(
'application.models.*',
'application.components.*',
'application.controllers.plugins.*',
'application.components.widgets.*',
'application.helpers.*',
'application.forms.*',
答案 0 :(得分:0)
首先确保已将路径导入管理模块文件。
public function init() {
$this->setImport(array(
'admin.models.*',
'admin.components.*',
'admin.controllers.*' //importing all files situated in controllers directory
'admin.controllers.actions.*' //importing all files situated in actions directory
));
}
然后如下所示:
public function actions(){
return array('approveEntity'=>'application.modules.admin.controllers.actions.ApproveEntityAction');
}
我认为关键点是导入包含您的操作文件的目录。