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

Autres composants PHP Discussion :

Zend_router(problème des liens)


Sujet :

Autres composants PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2009
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 75
    Par défaut Zend_router(problème des liens)
    Bonjour,


    J'utilise Zend_Router pour personnaliser les liens de mon site mais j'ai le problème suivant :

    -Quand je met le code dans mon index.php :

    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
     
    protected function _initRoutes() {
     
            $ctrl = Zend_Controller_Front::getInstance();
            $router = $ctrl->getRouter();
     
    $router = Zend_Controller_Front::getInstance()->getRouter();
     
        $route = new Zend_Controller_Router_Route_Regex('city/([-\w]+)\.php?', array('controller'    => 'index','action'    => 'index'), array(1=> 'paris',), 'city/%s.php');
        $router->addRoute('city', $route);
     
        $route1 = new Zend_Controller_Router_Route_Regex('city/([-\w]+)\.php?', array('controller'    => 'index','action'    => 'show'), array(1=> 'marseille',), 'city/%s.php');
        $router->addRoute('city', $route1);
    return $router;
     
    }
    il me redirige vers la même page pour lui les deux liens sont les mêmes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    http://localhost/exemple/public/city/paris.php
     
    http://localhost/exemple/public/city/marseille.php

    Please help .Merci.

  2. #2
    Membre confirmé
    Inscrit en
    Octobre 2009
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 75
    Par défaut
    Bonjour ,

    Bon j'utilise Zend_Controller_Router_Route_Regex actuellement dans mon application et malgré quelque difficulté au début j'ai trouvé une solution mais incomplète en plus je veux passer mon code pour des gens qui n'ont pas encore utiliser cette classe.Je souhaite créer des pages personnalisées sur mon site pour les villes,voilà mon code:



    index.php :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $router = Zend_Controller_Front::getInstance()->getRouter();
     
     
    $route = new Zend_Controller_Router_Route_Regex('city/([-\w]+)\.html?', array(
    'controller'	=> 'users',
    'action'	=> 'index'
    ), array(
    1	=> 'cityName',
     
    ), 'city/%s.html');
     
    $router->addRoute('city', $route);
    et dans le script vue :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="<?php echo $this->url(array('cityName' => 'paris'), 'city', true); ?>">Title</a>
    Alors cela marche bien mais je ne peux pas utiliser cette fonction que pour une seule page city/paris.php,alors j'ai 60 villes.Quand je met par exemple deux fois le code pour deux pages il m'affiche une seule pages pour les deux,c'est à dire que pour city/paris.php et city/marseille.php il me redirige toujours vers la deuxième,donc je trouve deux problèmes :

    1) Une confusion entre les deux pages,
    2) Je dois réécrire le code pour chaque page alors c'est trop lourd comme code.



    J'ai essayé à remédier le premier problème avec Zend_Controller_Router_Route_Static cela marche avec deux pages,j'ai fais comme suit :


    index.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $router = Zend_Controller_Front::getInstance()->getRouter();
    $route = new Zend_Controller_Router_Route_Static('paris.php',array('action'=> 'index','controller'=> 'index'));
    $router->addRoute('paris', $route);	
    $route = new Zend_Controller_Router_Route_Static('marseille.php',array('action'=> 'index','controller'=> 'users'));
    $router->addRoute('marseille', $route);
    dans le script de ma vue :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <a href="<?php echo $this->baseUrl();?>/paris.php">Paris</a>
    <a href="<?php echo $this->baseUrl();?>/marseille.php">Marseille</a>
    Alors il me redirige vers la pages souhaitées sans confusion entre http://localhost/exemple/public/paris.php et http://localhost/exemple/public/marseille.php.

    Mais encore j'aurai le même problème du code, je dois pour chaque page mettre son code dans mon index.php,donc si j'aurai 60 pages à personnaliser également 120 lignes ou plus dans mon bootstrap qui est lourd comme même et je souhaite utiliser Zend_Controller_Router_Route_Regex.

    Vous pouvez me m'aider à résoudre ce problème,et surement c'est un sujet très important parce que on ne trouve rien sur le net sauf la solution que j'ai proposé qui est malheureusement incomplète ou lourde.



    Merci.

Discussions similaires

  1. [ZF 1.5] Problème des liens framework zend pour les débutants
    Par joulive dans le forum MVC
    Réponses: 1
    Dernier message: 12/03/2010, 09h06
  2. Problème des liens dans flash
    Par islyoung2 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 25/07/2009, 21h54
  3. Problème des liens en flash
    Par islyoung2 dans le forum Flash
    Réponses: 0
    Dernier message: 25/07/2009, 18h30
  4. [Dev-C++] Problème d'édition des liens
    Par shura dans le forum EDI
    Réponses: 5
    Dernier message: 30/08/2005, 09h35
  5. Problème à l'édition des liens avec BCC55 et Xerces
    Par ShootDX dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 30/11/2003, 14h50

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