2013-04-05 2 views
1

У меня есть форма поиска с использованием метода get. Форма отлично работает, пока я не использую ее после разбивки на результаты.CakePHP: Удалить «страница: #» из параметров URL

Пользователи могут войти на сайт с любого количества URL-адресов, которые выглядят как domain.com/serach/results/something/something_else/ важной частью является domain.com/serach/results/.

Вот что мой код для формы выглядит следующим образом:

echo $this->Form->create(null, array(
    'type' => 'get', 
    'url' => $this->Html->url(null, true), 
)); 

Это сделает вид выглядеть следующим образом:

<form action="http://domain.com/serach/results/something/something_else/" method="get"> 

Проблема в том, что, когда я разбиваться результатов он добавляет страница: 2 или страница: 3, чтобы она выглядела так:

<form action="http://domain.com/serach/results/something/something_else/page:3" method="get"> 

Есть ли встроенная функция в Ca kePHP, который позволяет мне удалить page:3 с URL-адреса, который передается в действие формы или мне нужно создать функцию, которая ищет и удаляет page:#?

ответ

4

просто установить ваш URL в многословный путь:

'url' => array('controller' => 'x', 'action' => 'y') + $this->request->params['pass'] 

Готово!

+0

Выполнение этого, что ват не работает, потому что он теряет все после действия. Таким образом, это приводит к этому 'domain.com/serach/results /', а не этому 'domain.com/serach/results/something/something_else /'. – bigmike7801

+0

Я обновил с добавленными параметрами. – mark

+0

Это работало намного лучше! – bigmike7801

Смежные вопросы