我有一个关于我们的页面网址如下:
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
。
请帮助,我该如何实现这一目标。
答案 0 :(得分: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
答案 1 :(得分: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]+'
)
);
答案 2 :(得分:0)
如果您使用的是命名参数,则可以定义此路线
Router::connect(
'/about_us',
array('controller' => 'cmsPages', 'action' => 'index'),
array('cmsid'=>1)
);