[英]How to set Custom URL in CakePhp
我想定義一個URL,如下所示:
http:// localhost / bekzcart / books / list?cid = 1&type = grid&page = 1
如何為該類型的url創建自定義路由,我的路由器代碼根本不起作用
Router::connect('/books/list?cid=:cid&type=:type&page=:page', array('controller' => 'books', 'action' => 'list'));
參數cid,type和page為空,但是當我更改為
Router::connect('/books/list?:cid&:type&:page', array('controller' => 'books', 'action' => 'list'));
它工作正常,參數cid,type和page現在存在。
注意:我的蛋糕版本是1.3
提前致謝,
布賴恩
我認為您不需要這些路由,如果您需要獲取這些url參數,則可以從$this->params['url']['param_name']
如果您希望參數在方法中以$ {param_name}的形式隨時可用,則可以使用pass告訴路由通過這些參數,如下所示:
http://book.cakephp.org/view/949/Passing-parameters-to-action
// some_controller.php
function view($articleID = null, $slug = null) {
// some code here...
}
// routes.php
Router::connect(
// E.g. /blog/3-CakePHP_Rocks
'/blog/:id-:slug',
array('controller' => 'blog', 'action' => 'view'),
array(
// order matters since this will simply map ":id" to $articleID in your action
'pass' => array('id', 'slug'),
'id' => '[0-9]+'
)
);
因此,在您的情況下,將類似於:(未測試)
Router::connect('/books/list?cid=:cid&type=:type&page=:page',
array('controller' => 'books', 'action' => 'list'),
array(
'pass' => array('cid', 'type', 'page')
)
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.