我正在尋找一個模塊。當我搜索一些項目時,該項目的slu is在URL中作爲查詢字符串傳遞,但是我想將其轉換爲命名參數。爲此,我在自定義組件RedirectComponent.php中創建了一個urlToNamed()
操作。我的代碼是:cakephp重定向在控制器不起作用
RedirectComponent.php
function urlToNamed() {
$urlArray = $this->controller->params->query;
if(!empty($urlArray)){
#remove unset values
$urlArray = array_filter($urlArray);
$this->controller->redirect($urlArray);
}
}
I am calling the urlToNamed() action from index action of BooksController.php i.e
public function index() {
$this->Redirect->urlToNamed();
//All other stuff to handle named parameter data and show result.
}
問題是我的網址搜索之後的數據是作爲查詢字符串像http://localhost/esolutions/books/index?category=Books
,而我必須轉換到一個名爲參數一樣http://localhost/esolutions/books/index/category:Books
。
另一個問題是,
$this->controller->redirect($urlArray);
不工作。請給出任何建議。提前致謝。
爲什麼你需要將查詢字符串參數轉換爲命名參數?您也可以在控制器操作中使用查詢字符串參數。 –
實際上,我通過使用slug(帶有命名參數)在BooksController中顯示所有產品。這就是爲什麼我不想改變搜索功能。 – yolla