Yii CListView使用history.js的友好网址

时间:2014-06-04 11:49:54

标签: yii

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

现在我的网址看起来像这样

localhost/ModuleName/controllerName/PageName/index/?PageName_sort=price.desc&PageName_page=3

我正试图让它看起来更漂亮(?PageName_sort = price.desc& PageName_page = 3 )这样的东西或类似的东西

localhost/moduleName/controllerName/PageName/sort/price/desc/page/3

我想删除/ index / too

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

    /**
     * Lists all models.
     */
    public function actionIndex()
    {
        $dataProvider=new CActiveDataProvider('PageName',array(
            'pagination'=>array(
                'pageVar'=>'page'
            )
        ));
        $this->render('index',array(
            'dataProvider'=>$dataProvider,
        ));
    }

我的UrlManager看起来像这样

'PageName/page/<page:\d+>'=>'PageName/', 

任何想法可以做到这一点?或者我错过了什么?感谢

1 个答案:

答案 0 :(得分:0)

我不确定是否按照您的指定访问了网址。但是,您可以在至少Yii 1.1中使用以下格式获取您的网址,而无需向urlManager添加其他规则。

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

这是因为CController::createUrl()用于在CPagination::createPageUrl()

中创建分页链接