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

时间:2013-11-11 21:22:42

标签: php yii

我是yii的新手。

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

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

CatalogController中的

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

在控制器中重写了rules()方法:

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

在protected / controllers / post下的新自定义操作

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

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:-1)

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

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

在配置文件中编辑网址管理器,如下所示:

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

来源:The Yii guide