为控制器 Yii 创建自定义操作


creating custom action for controller yii

我是yii的新手。

我创建了一个名为 CatalogController 的控制器。我想创建一个名为 actionClear() 的自定义操作。我已经按照文档和在线搜索的步骤进行操作,但是当我导航到目录/清除时,它会重定向回网站的主页。我不知道我应该采取什么其他步骤。

到目前为止,我已经完成了以下操作:

在目录控制器中:

public function actionClear() {
     $dataProvider=new CActiveDataProvider('Catalog');
     $this->render('clear',array('dataProvider'=>$dataProvider));
}

控制器中覆盖的规则() 方法:

public function actions()
{
    return array(
        'clear'=>'application.controllers.post.ClearAction',
    );
}

受保护/控制器/开机自检下的新自定义操作

class ClearAction extends CAction
{
    public function run()
    {
        echo 'fart';die;
    }
}

任何帮助将不胜感激。

您是否尝试过网址index.php?r=catalog/clear或 jus index.php/catalog/clear

默认情况下,在 yii 中只有第一个可以工作。对于第二个,您需要在URL管理器中激活它:

在配置文件中,按如下方式编辑 url 管理器:

array(
    ......
    'components'=>array(
        ......
        'urlManager'=>array(
            'urlFormat'=>'path',
        ),
    ),
);

来源:易义指南