Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour à tous, voila j'ai un problème qui doit pas être bien compliqué mais a force d'avoir la tête dans le code je m'embrouille un peu et j'ai donc besoin d'un regard extérieur
Voila je souhaite utiliser la pagination via zend_paginator, j'ai un controller qui récupère une liste de contacts dans un array et qui instancie zend_paginator puis transmet le tout à la vue, et dans ma vue j'affiche mes contacts, cependant lorsque je change de page je suis renvoyer au formulaire de connexion (utilisé pour la récupération de contacts
Controller loginAction :
/************************************************************************************* * login action */ public function loginAction() { $this->view->title = "ShAdY! Contacts"; //Titre de la page $typeService = $this->_getParam('type'); //Récupere le type de service demandé /** * Si le service est défini **/ if (isset($typeService)) { $service = My_ContactsGetter_Services::getService($typeService); /** * Si le service est en login internet **/ if ($service->isLoginInternal()){ //Si accès à la page sans avoir valider un formulaire if (!$this->getRequest()->isPost()) { return $this->_forward($this->view->baseUrl.'/index'); } $form = $this->getForm(); //Si formulaire non valide if (!$form->isValid($_POST)) { $this->view->form = $form; return $this->render('form'); } $values = $form->getValues(); //Récupère les valeurs //Récupère et transmet les contacts à la vue $lstContacts = $service->getAllContacts($values['adresseMail'], $values['password']); } else { /** * Si le service n'est pas en login internet **/ $service = My_ContactsGetter_Services::getService($typeService); /************************************************************************* ** YAHOO! ************************************************************************/ if (strtolower($typeService) == 'yahoo') { $token = $this->_getParam('token'); //Récupère et transmet les contacts à la vue $lstContacts = $service->getAllContacts($token, ''); } } // Si une liste de contact est défini if(isset($lstContacts)) { // Création de la pagination des contacts $paginator = Zend_Paginator::factory($lstContacts); // Nombre de contact par page $paginator->setItemCountPerPage(5); // Définie la page actuel pour le paginateur $paginator->setCurrentPageNumber($this->_getParam('page', 1)); // Transmet la pagination à la vue $this->view->contacts = $paginator; } /** * Si le service n'est pas défini **/ } else { return $this->_forward($this->view->baseUrl.'/index'); //Renvoi à la page d'accueil } }
Comment indiquer a mon controller que j'utilise la pagination et qu'il ne doit donc pas ce re-executer mais juste poursuivre la lecture du tableau?
Merci d'avance à tous
Dernière modification par shadypierre (13-04-2010 20:21:54)
Hors ligne
Personne ?
Hors ligne
tu fais trop de test, dans ta pagination ilf aut que tu passe en paramètre les variables des tests pour éviter de devoir tout recommencer.
Je ne vois que ça.
Hors ligne
Pages: 1