2011-01-14 7 views
2

Pourriez-vous s'il vous plaît me dire comment faire un lien avec Zend_Paginator comme ceci: http://url/controller/action?id=47&page=2. Je veux ajouter à url paramètre supplémentaire à la requête de l'URL comme url? Id = valeur, pas paramètre comme celui-ci: url/controller/action/param/value. Pourriez-vous également dire s'il vous plaît comment passer une variable pour la vue partielle à côté de la page. Merci.Liens Zend_Paginator avec les paramètres de requête

+0

Il n'est pas habituel ici pour éditer une question pour ajouter une autre question une fois que vous avez commencé à obtenir la réponse, vous devriez avoir ouvert un autre. Regardez ce lien pour une réponse http://framework.zend.com/manual/fr/zend.view.helpers.html#zend.view.helpers.initial.placeholder –

Répondre

1

Il existe l'assistant d'affichage par défaut Url qui est conçu pour gérer cela.

vous pouvez générer votre URL avec les éléments suivants:

echo $this->url(array('controller' => 'controllerName', 
         'action'  => 'actionName', 
         'param1'  => 'param1', 
         'param2'  => 'param2)); 

Si vous omettez certains des params, l'aide réutilisera ceux qui étaient dans l'URL de requête

Alors, avec Zend_Paginator vous allez dans cette chemin:

$pages = $this->paginator->getPages(); 

// previous 
echo $this->url(array('page' => ($pages->current -1))); 

// current 
echo $this->url(array('page' => ($pages->current))); 

// next 
echo $this->url(array('page' => ($pages->current +1))); 

** EDIT **

pour refléter m Exemple y premier commentaire

echo $this->url(array('controller' => 'controllerName', 'action' => 'actionName')) . '?user=' . $id . '&page=' . $pageNumber 
+0

Il va ajouter des partamaters mais je dois ajouter à l'URL comme cette URL? id = valeur. – Oleg

+0

vous pouvez simplement produire votre URL de base avec l'assistant et concaténer votre chaîne pour le faire comme: controller/action? Id = value –

+0

Je pense que vous avez raison, ça ressemble à des variables que je peux passer par le quatrième paramètre de paginationControl . – Oleg

0

donc si je comprends ce poste (s) correctement ... ceci est votre solution pour faire une valeur $ _GET ou $ _POST persistant pour chaque chargement de la page suivante dans un ensemble Paginator'ed des résultats ? J'ai une fonction de recherche qui renvoie des résultats, mais quand j'essaie de paginer à travers les résultats, la page suivante charge cette variable $ _POST et je commence à retourner tous les résultats parce que la recherche générique devient SELECT * FROM table WHERE col LIKE '%%'. pas ce que je veux

EDIT: je charge les mots-clés dans zend_cache() et je les rappelle au chargement de la page en passant l'ID du cache (la valeur md5() du mot-clé) au moyen de l'URI. si quelqu'un est intéressé je vais poster le code

+0

J'utilise $ _GET, pas $ _POST. – Oleg

+0

Ainsi, l'URL de chaque page ressemblait à http: // url/view? Id = 57 & page = 2 & rows = 25 & filterby = 2 & filter = Allen & status = 1 par exemple. – Oleg

Questions connexes