public function listAction()
 {
     $request = $this->getRequest();
     $pageParam = $this->params('page');
     $pageSession = new Container('pageCategory');
     $tabFiltreSession = new Container('tabFiltreCategorySession');
     $em = $this->getServiceLocator()->get('doctrine.entitymanager.orm_default');
     // initialisation du tableau de filtre
     $tabFiltre['label'] = null;
     $reset = $this->params('reset');
     if (!empty($reset)) {
         $tabFiltreSession->filtre = $tabFiltre;
         $pageSession->page = 1;
     }
     // récupération des filtres de sessions
     // le numéro de page on récupère celui reçut en param si y'en a un sinon celui en session
     $numPage = $pageParam ? $pageParam : $pageSession->page;
     // créer le form de filtre
     $formManager = $this->serviceLocator->get('FormElementManager');
     $form = $formManager->get('Admin\\Form\\Form\\FilterCategoryForm');
     $category = new Category();
     if ($tabFiltreSession->filtre != null) {
         $category->setLabel($tabFiltreSession->filtre['label']);
     }
     $form->bind($category);
     if ($request->isPost() == false) {
         if (empty($tabFiltreSession->filtre)) {
             $categorys = $em->getRepository('Blog\\Entity\\Category')->getList($numPage, 20, $tabFiltre);
         } else {
             // on filtre avec la session
             $categorys = $em->getRepository('Blog\\Entity\\Category')->getList($numPage, 20, $tabFiltreSession->filtre);
         }
     } else {
         $form->setData($request->getPost());
         if ($form->isValid()) {
             $data = $form->getData();
             $tabFiltre = array();
             $tabFiltre['label'] = $data->getLabel();
             $categorys = $em->getRepository('Blog\\Entity\\Category')->getList($numPage, 20, $tabFiltre);
             $tabFiltreSession->filtre = $tabFiltre;
         }
     }
     // On écrase la variable de session
     if ($numPage) {
         $pageSession->page = $numPage;
     }
     return new ViewModel(array("categorys" => $categorys, "form" => $form));
 }
 /**
  * {@inheritDoc}
  */
 public function setLabel($label)
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'setLabel', array($label));
     return parent::setLabel($label);
 }