Sto utilizzando Zend \ Paginator per creare un set di risultati impaginato. Funziona bene, tuttavia, dopo aver aggiunto un modulo di ricerca, non riesco a far giocare piacevolmente i due insieme.Come conservare i parametri di query negli URL di impaginazione in ZF2?
L'URL prodotto dal modulo di ricerca sulla pagina è:
user/index/?searchTerm=hello
Come faccio a modificare la configurazione Paginator Zend modo che mantenga il termine di ricerca negli URL prodotte?
speravo in qualcosa di simile a:
user/index/page/4/?searchTerm=hello
Che cosa mi manca?
Il percorso del modulo di configurazione è definito come segue:
'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',
),
),
),
),
L'impaginazione è costruito utilizzando questo nella visualizzazione:
echo $this->paginationControl(
$this->users, 'sliding', array('paginator', 'User'), array('route' => 'user', 'action' => 'index')
);
Impaginazione modello frammento:
<li>
<a href="<?php echo $this->url($this->route, array('action' => $this->action, 'page' => $this->next), true); ?>">
Next »
</a>
</li>
(Ero sotto il impressione che passa true
come third parameter to url()
would retain the query params.)