#search #cakephp #plugins #paging
#Поиск #cakephp #Плагины #подкачка
Вопрос:
Мы используем поведение поиска CakePHP по умолчанию для страницы со списком, и как только я выбрал некоторые критерии для поиска, все работает нормально..
Теперь, всякий раз, когда я захожу на страницу № 2 с критериями поиска, параметры поиска не передаются при подкачке, и это становится обычным списком.
У кого-нибудь есть какие-либо идеи о поиске и комбинации подкачки с подключаемым модулем поиска по умолчанию CakePHP 1.2.
Дайте мне знать ваши ответы как можно скорее.
Спасибо!
Комментарии:
1. в модели у нас также есть критерии упоминания
public $actsAs = array('Search.Searchable');
и фильтрацииpublic $filterArgs = array();
Ответ №1:
Взгляните на это руководство. Это отдаленно похоже на то, что я делал в прошлом.
Комментарии:
1. Привет .. да, я добавил в view файл
<?php $paginator->options(array('url' => $this->passedArgs)); ?>
для отображения в paginator, он работает нормально, но передача того же самого в << Предыдущий amp; amp; Следующий >> не приводит меня к исправлению страницы.. означает, что если я нахожусь на странице № 2, на предыдущей и следующей страницах есть только ссылки на страницу № 2.. нет ссылок на страницу № 1 или страницу № 3..
Ответ №2:
Если вы работаете с сеансами, то критерии поиска могут быть сохранены в сеансе. Вам просто нужно убедиться, что пользователь также может легко сбросить сохраненные критерии поиска.
$this->paginate = array(
'conditions' => array('Model.name LIKE' => '%'.$storedInTheSession.'%'),
'order' => array('Model.name ASC'),
);
Ответ №3:
Предполагая, что ваша форма создана с помощью ‘type’ =>’get’
echo $form->create('Content', array('action' => '/index', 'class' => 'forms','type'=>'get'));
вы можете сделать что-то вроде:
if(isset($_GET['some_criteria'])){ //if some of you fields is set
unset($_GET['url']); //this is set by CakePHP and we don't need it
$paginator->options = array('url'=> array('controller' => 'content', 'action' => 'index', '?' => http_build_query($_GET)));
}
Хотя это может удовлетворить ваши потребности, я предупреждаю вас, что это может быть не самый простой способ