Tôi đang sử dụng Zend \ Paginator để tạo tập hợp kết quả được phân trang. Điều này hoạt động tốt, tuy nhiên, sau khi thêm một hình thức tìm kiếm, tôi không thể có được hai để chơi độc đáo với nhau.Làm cách nào để giữ lại thông số truy vấn trong URL phân trang trong ZF2?
URL được tạo ra bởi các hình thức tìm kiếm trên trang này là:
user/index/?searchTerm=hello
Làm thế nào để sửa đổi cấu hình paginator Zend để nó giữ lại searchterm trong URL sản xuất?
Tôi đã hy vọng cho một cái gì đó như:
user/index/page/4/?searchTerm=hello
tôi đang thiếu gì?
Tuyến mô-đun cấu hình được định nghĩa như sau:
'user' => array(
'type' => 'Zend\Mvc\Router\Http\Segment',
'options' => array(
'route' => '/user[/[:action[/]]][[id/:id]][/[page/:page]]',
'defaults' => array(
'controller' => 'Application\Controller\User',
'action' => 'index',
'id' => null,
),
// the below was added to try and get the searchTerm query to be retained
'may_terminate' => true,
'child_routes' => array(
'searchTerm' => array(
'type' => 'Query',
),
),
),
),
Các pagination được xây dựng sử dụng này trong giao diện:
echo $this->paginationControl(
$this->users, 'sliding', array('paginator', 'User'), array('route' => 'user', 'action' => 'index')
);
Pagination mẫu đoạn:
<li>
<a href="<?php echo $this->url($this->route, array('action' => $this->action, 'page' => $this->next), true); ?>">
Next »
</a>
</li>
(Tôi đã ở dưới ấn tượng mà đi qua true
là third parameter to url()
would retain the query params.)