Zımbalanmış bir sonuç kümesi oluşturmak için Zend \ Paginator kullanıyorum. Bu iyi çalışıyor, ancak, bir arama formu ekledikten sonra, iki güzel birlikte oynamak için alamıyorum.ZF2'deki sayfalandırma URL'lerinde sorgu paramlarını nasıl saklarım?
sayfadaki arama formu tarafından üretilen URL: Bu üretilen URL'leri searchterm korur, böylece
user/index/?searchTerm=hello
nasıl Zend paginator yapılandırmasını değiştirebilir mi? Ben ne eksik
user/index/page/4/?searchTerm=hello
:
ben gibi bir şey için umuyordum?
echo $this->paginationControl(
$this->users, 'sliding', array('paginator', 'User'), array('route' => 'user', 'action' => 'index')
);
Sayfalama şablonu pasajı:
<li>
<a href="<?php echo $this->url($this->route, array('action' => $this->action, 'page' => $this->next), true); ?>">
Next »
</a>
</li>
'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',
),
),
),
),
sayfalama görünümünde bu kullanılarak inşa edilir: aşağıdaki gibi
modül konfigürasyon yolu tanımlanır
(Ben altındaydım true
'un third parameter to url()
would retain the query params olarak geçtiği izlenimi.