Yii CListView';使用history.js创建友好的url

Yii CListView';使用history.js创建友好的url,yii,Yii,我正在尝试使用启用history.js的ClistView创建友好的URL 现在我的URL看起来像这样 localhost/ModuleName/controllerName/PageName/index/?PageName_sort=price.desc&PageName_page=3 /** * Lists all models. */ public function actionIndex() { $dataProvid

我正在尝试使用启用history.js的ClistView创建友好的URL

现在我的URL看起来像这样

localhost/ModuleName/controllerName/PageName/index/?PageName_sort=price.desc&PageName_page=3
    /**
     * Lists all models.
     */
    public function actionIndex()
    {
        $dataProvider=new CActiveDataProvider('PageName',array(
            'pagination'=>array(
                'pageVar'=>'page'
            )
        ));
        $this->render('index',array(
            'dataProvider'=>$dataProvider,
        ));
    }
'PageName/page/<page:\d+>'=>'PageName/', 
我正试图让它看起来更漂亮(?PageName\u sort=price.desc&PageName\u page=3)像这样的东西或类似的东西

localhost/moduleName/controllerName/PageName/sort/price/desc/page/3
我想删除/index/也

我的动作控制器看起来像这样

localhost/ModuleName/controllerName/PageName/index/?PageName_sort=price.desc&PageName_page=3
    /**
     * Lists all models.
     */
    public function actionIndex()
    {
        $dataProvider=new CActiveDataProvider('PageName',array(
            'pagination'=>array(
                'pageVar'=>'page'
            )
        ));
        $this->render('index',array(
            'dataProvider'=>$dataProvider,
        ));
    }
'PageName/page/<page:\d+>'=>'PageName/', 
我的经理看起来像这样

localhost/ModuleName/controllerName/PageName/index/?PageName_sort=price.desc&PageName_page=3
    /**
     * Lists all models.
     */
    public function actionIndex()
    {
        $dataProvider=new CActiveDataProvider('PageName',array(
            'pagination'=>array(
                'pageVar'=>'page'
            )
        ));
        $this->render('index',array(
            'dataProvider'=>$dataProvider,
        ));
    }
'PageName/page/<page:\d+>'=>'PageName/', 
'PageName/page/'=>'PageName/',

你知道谁能做到吗?或者我错过了什么?谢谢

我不确定是否能按您指定的方式访问url。但是,您可以以至少Yii 1.1的格式获取url,而无需向
urlManager
添加其他规则

localhost/moduleName/controllerName/index/PageName_sort/price.desc/PageName_page/3

这是因为
CController::createUrl()
用于在中创建分页链接,抱歉,这有点不方便,所以我必须在自定义类中重写此函数,如何在CViewlist中调用它<代码>公共函数createPageUrl($controller,$page){$params=$this->params==null?$\u GET:$this->params;if($page>0)//第0页是默认的$params[$this->pageVar]=$page+1;否则取消设置($params[$this->pageVar]);返回$controller->createUrl($this->route,$params);}