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 :

Aide de vue url


Sujet :

Autres composants PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de snyfir
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 246
    Par défaut Aide de vue url
    Bonjour,

    Pour créer des liens dans la vue, j'utilise l'aide de vue url.
    Voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $this->url(array('id' => 4, 'nom' => 'voiture/taxi'), 'route1');
    La coufiguration de route1 est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    routes.route1.type = "Zend_Controller_Router_Route_Regex"
    routes.route1.route = "(.+)\-(\d+)-.html"
    routes.route1.reverse = "%s-%d.html"
    routes.route1.defaults.controller = "page"
    routes.route1.defaults.action = "index"
    routes.route1.map.1 = "nom"
    routes.route1.map.2 = "id"
    Mon problème est le suivant : le / qui se trouve entre voiture et taxi est remplassé par : %2F
    ce qui me donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="/voiture%2Ftaxi-4.html">test</a>
    Comment je peux faire pour que j'ai bien / et non %2F ?

    Merci d'avance pour votre réponse.

  2. #2
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    ben ça dépend.... est-ce que le nom de ta catégorie c'est "voiture/taxi" ou "voiture" avec une sous "categorie" taxi?

    car le / défini un séparateur dans l'url donc le meilleur moyen serait de refaire ta regex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    routes.route1.type = "Zend_Controller_Router_Route_Regex"
    routes.route1.route = "([a-z0-9]+)/([a-z0-9]+)\-(\d+)-.html"
    routes.route1.reverse = "%s/%s-%d.html"
    routes.route1.defaults.controller = "page"
    routes.route1.defaults.action = "index"
    routes.route1.map.1 = "nom"
    routes.route1.map.2 = "type"
    routes.route1.map.3 = "id"
    
    $this->url(array('id' => 4, 'nom' => 'voiture', 'type' => 'taxi'), 'route1');
    Un truc dans le genre

  3. #3
    Membre éclairé Avatar de snyfir
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 246
    Par défaut
    Citation Envoyé par manuscle Voir le message
    ben ça dépend.... est-ce que le nom de ta catégorie c'est "voiture/taxi" ou "voiture" avec une sous "categorie" taxi?

    car le / défini un séparateur dans l'url donc le meilleur moyen serait de refaire ta regex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    routes.route1.type = "Zend_Controller_Router_Route_Regex"
    routes.route1.route = "([a-z0-9]+)/([a-z0-9]+)\-(\d+)-.html"
    routes.route1.reverse = "%s/%s-%d.html"
    routes.route1.defaults.controller = "page"
    routes.route1.defaults.action = "index"
    routes.route1.map.1 = "nom"
    routes.route1.map.2 = "type"
    routes.route1.map.3 = "id"
    
    $this->url(array('id' => 4, 'nom' => 'voiture', 'type' => 'taxi'), 'route1');
    Un truc dans le genre
    Enfaite suivant l'url que je veux, il y a 0 ou plusieur / .
    Donc si je pouvais le faire sans créer plein de route sa serais bien.

  4. #4
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    ah oui ben j'ai eu le même problème y a longtemps et j'ai pas su trouver de solution pratique....

    J'ai fini par bricoler un truc pas top et ne pas utiliser l'aide de vue. Si ça te branche je peux te le filer mais c pas très propre

Discussions similaires

  1. Création de liens avec l'aide de vue URL
    Par flilou dans le forum Zend Framework
    Réponses: 6
    Dernier message: 18/07/2011, 14h58
  2. Aide de vue url() et application modulaire
    Par aure298 dans le forum MVC
    Réponses: 4
    Dernier message: 03/05/2009, 13h10
  3. [View] Utilisation de l'aide de vue URL
    Par oranocha dans le forum Autres composants
    Réponses: 2
    Dernier message: 26/01/2009, 13h43
  4. aide a l'URL REWRITE
    Par Invité dans le forum Apache
    Réponses: 3
    Dernier message: 16/07/2008, 18h45
  5. aide choix vue (framework) pour struts
    Par gibson700 dans le forum Struts 1
    Réponses: 4
    Dernier message: 16/03/2007, 10h44

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