IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MVC PHP Discussion :

Router_Regex avec pagination et "titre".html


Sujet :

MVC PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de __fabrice
    Homme Profil pro
    Développeur Back-End
    Inscrit en
    Août 2004
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Août 2004
    Messages : 404
    Par défaut Router_Regex avec pagination et "titre".html
    Salut à tous,

    Je viens de me mettre serieusement aux routes. J'ai donc fait simplement ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    $route = new Zend_Controller_Router_Route_Regex(
    	'fiche-sejour-(\d+)-individuels.html',
    	array(
    		'action'        => 'edit',
    		'controller'    => 'individuels',
    		), array(1 => 'id'),
    		'fiche-sejour-%d-individuels.html'
    	);
    	$router->addRoute('fiche_sejour_individuels', $route);
     
    // appelé comme çà :<a href="<?php echo $this->url(array("id"=>$row['id_sejour']), "fiche_sejour_individuels")?>">Lire la suite >></a>
     
    $route = new Zend_Controller_Router_Route_Static(
    	'liste-sejours.html',
    	array(
    		'action'        => 'list',
    		'controller'    => 'individuels'
    		)
    	);
    	$router->addRoute('list_individuels', $route);
     
    // appelé comme çà :<a href="<?php echo $this->baseUrl();?>/liste-sejours.html">Individuels</a>
    Par contre, je vois pas comment utiliser çà avec la pagination, pour avoir par exemple une route liste-sejours-page_2.html appelé avec ZendPaginator :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <a class="suivant" href="<?php echo $this->url(array('page' => $this->next),"list_individuels"); ?>">Suivant</a>
    - Déjà comment le rendre générique pour 2-3 controlleurs ?, car j'ai plusieurs routes du meme style que list_individuels comme list_groupes, list_partenaires qui utilise le meme phtml de pagination.

    - Ensuite, au lieu de faire çà, j'aime avoir par ex les 50 premiers caracteres du titre : sejours_en_bretagne_tout_frais_paye.html. Comment faire çà avec les routes ?

    Merci à tous
    Fab

  2. #2
    Membre éclairé
    Avatar de __fabrice
    Homme Profil pro
    Développeur Back-End
    Inscrit en
    Août 2004
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Août 2004
    Messages : 404
    Par défaut
    salut,

    Personne ne sait alors ?

    Fabrice

  3. #3
    Membre éclairé
    Avatar de __fabrice
    Homme Profil pro
    Développeur Back-End
    Inscrit en
    Août 2004
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Août 2004
    Messages : 404
    Par défaut
    J'ai essayé plusieurs choses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $route = new Zend_Controller_Router_Route_Regex(
      'fiche-sejour-individuel-(\d+)-(.+).html',
      array(
          'action'        => 'edit',
          'controller'    => 'individuels'
      ), 
      array(
          1 => 'id',
          2 => 'title'
      ),
    'fiche-sejour-individuel-%d-%s.html'
    );
    $router->addRoute('fiche_sejour_individuels', $route);
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    &nbsp;<a href="<?php echo $this->url(array(
    				"id"	=> $row['id_sejour'],
    				"title"	=>trim($row['title'])),
    				"fiche_sejour_individuels")?>">Lire la suite >></a>
    Sauf que si dans le titre, il y a des caractères hors alpha, çà bug. Et comment enlever les "+" qui se mettent dans le nom de l'url ?.
    Du coup, j'ai fait çà, mais çà marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $route = new Zend_Controller_Router_Route_Regex(
    		'fiche-sejour-individuel-(\d+)-([A-Za-z-0-9\+]*).html',
    Par contre, çà filtre les caractères hors alphanum, ou la route ne se crée carrement pas ?

    Autre chose, pour la pagination, je vois pas comment faire pour convertir : /controller/action/edit/10/page/3 en 'fiche-sejour-individuel-26-blablabla-3.html'

    Merci
    Fabrice

Discussions similaires

  1. Formulaires : problème avec les slashes et les quotes
    Par GarGamel55 dans le forum Langage
    Réponses: 1
    Dernier message: 12/10/2005, 15h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo