2013-06-28 5 views
0

Я добавил разбивку на страницы в своих записях, а также фильтр поиска в моем списке записей. Но проблема в том, что когда я нахожусь на первой странице и искал что-то, она отлично работает, но поскольку я поиск из других страниц, таких как (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 
         ), 
        ), 
       ), 
+1

отправьте свой код первым. –

+0

бесполезно без примеров кода. – Andrew

+0

, если я понимаю вас, вы должны установить действие формы поиска со страницей = 1. кстати, мне кажется, что лучше удерживать поисковую фразу в параметре get (route) и не использовать POST. –

ответ

0

Я думаю, вы просто нужно сбросить страницу Переменная, если сообщение отправлено.