0

我有一个关于我们的页面网址,如下所示:

base_url/cmsPages/index/cmsid:1

在 routes.php 我已经定义了

Router::connect(
        '/about_us',
        array('controller' => 'cmsPages', 'action' => 'index', 'cmsid' => 1), 
    );

但我没有cmsid进入$this->request->params['named']['cmsid']index action

请帮忙,我怎么能做到这一点。

4

3 回答 3

3

您可以使用以下内容:

public function index($cmsid = null) {
    // some code here...
}

// routes.php

Router::connect(
    '/about_us',
    array('controller' => 'cmsPages', 'action' => 'index'),
    array('pass'=>array('cmsid'=>1))
);

有关详细信息,请访问以下链接:

http://book.cakephp.org/2.0/en/development/routing.html#passing-parameters-to-action

于 2013-03-01T07:08:42.193 回答
0

试试这个代码来获取命名参数

Router::connectNamed(array('id'));
    Router::connect('/about-us:id', array(
        'plugin' => false
        'controller' => 'cmsPages', 
        'action' => 'index'
        ),array(
            "pass"=>array("id")
        ),array(
            'id' => '[0-9]+'
        )
    );
于 2013-03-02T08:37:06.247 回答
0

如果您使用命名参数,则可以定义此路由

Router::connect(
    '/about_us',
    array('controller' => 'cmsPages', 'action' => 'index'),
    array('cmsid'=>1)
);
于 2015-03-19T20:49:58.777 回答