Я добавил разбивку на страницы в своих записях, а также фильтр поиска в моем списке записей. Но проблема в том, что когда я нахожусь на первой странице и искал что-то, она отлично работает, но поскольку я поиск из других страниц, таких как (2,3,4 и т. д.), он извлекает результаты, но, поскольку я на странице 2, он не отображает результаты в моем листинговом представлении. Проблема, о которой я узнал, это то, что URL-адрес не меняется во время поиска.zend pagination and search
пример: Я на этой странице url ->http://test.com/album/contact-list/2 и теперь я делаю поиск с этой страницы, этот URL-адрес кажется таким же.
здесь код нумерации страниц // Pagination
$page = $this->params()->fromRoute('page', 1);
$paginator = new \Application\Library\Ex\Paginator();
$paginator->setPageUrl("/album/contact-list");
$paginator->setCurrentPage($page);
$paginator->setRows(5);
и, наконец, вернуться к модели представления
$viewModel = new ViewModel();
$viewModel->setVariable('data', $data);
$viewModel->setVariable('status', $status);
$viewModel->setVariable('published_filter', $contact->published_filter);
$viewModel->setVariable('paginator', $paginator);
return $viewModel;
и module.config
'contactList' => array(
'type' => 'Segment',
'options' => array(
'route' => '/contact-list[/:page]',
'constraints' => array(
'page' => '[0-9]*',
),
'defaults' => array(
'controller' => 'Contact',
'action' => 'contactList',
'page'=>1
),
),
),
отправьте свой код первым. –
бесполезно без примеров кода. – Andrew
, если я понимаю вас, вы должны установить действие формы поиска со страницей = 1. кстати, мне кажется, что лучше удерживать поисковую фразу в параметре get (route) и не использовать POST. –