Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 31-07-2008 17:18:06

pozowebs
Membre
Lieu: Gran Canaria
Date d'inscription: 06-07-2008
Messages: 83
Site web

[Résolu][1.5] Enlever parametres de l'url

Bonjour,

je m'explique: dans mon admin, j'ai par exemple une action "modifier user", que j'appelle ainsi:

Code:

<a href="<?php echo $this->url(array('controller'=>'user',
                'action'=>'modif', 'id'=>$user->id));?>">Modifier</a>

Bien, ainsi je passe l'id de l'user dans l'url. J'ai une url qui se termine ainsi: /admin/user/modif/id/6

Sur la page de modification, j'ai mis un lien pour revenir en arrière, ainsi:

Code:

<a href="<?php echo $this->url(array('controller'=>'user',
        'action'=>'index')); ?>"><< Retour</a>

Ce qui me gêne c'est que les paramètres "/id/6" restent dans l'url. (je me retrouve avec une url qui se termine ainsi: /admin/user/index/id/6)

Je ne pense pas que cela soit un problème (non?si?), mais je preferais pour "nettoyer" l'url lors du retour, pour atterir sur la page .../admin/user/index/

Comment faire?

J'ai essayé passer "reset" a true dans $this->url, mais du coup cela me rammene au module par defaut, alors que je veux rester dans le module admin.

Je n'ai pas défini de routes.

Merci a+!

Dernière modification par pozowebs (01-08-2008 14:51:33)

Hors ligne

 

#2 31-07-2008 17:58:06

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: [Résolu][1.5] Enlever parametres de l'url

Hello

Code:

<a href="<?php echo $this->url(array('controller'=>'user', 'action'=>'index'), null, false); ?>"><< Retour</a>

A+


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#3 31-07-2008 22:26:31

pozowebs
Membre
Lieu: Gran Canaria
Date d'inscription: 06-07-2008
Messages: 83
Site web

Re: [Résolu][1.5] Enlever parametres de l'url

merci mais ça ne marche pas. J'ai toujours /admin/user/index/id/6...

Hors ligne

 

#4 31-07-2008 22:49:15

Kaimite
Membre
Lieu: Marseille
Date d'inscription: 16-06-2008
Messages: 144
Site web

Re: [Résolu][1.5] Enlever parametres de l'url

Salut,

essaie avec ça

Code:

<a href="<?php echo $this->url(array('controller'=>'user', 'action'=>'index'),"default", false); ?>"><< Retour</a>

Avec le default à la place de null

Hors ligne

 

#5 31-07-2008 23:14:33

pozowebs
Membre
Lieu: Gran Canaria
Date d'inscription: 06-07-2008
Messages: 83
Site web

Re: [Résolu][1.5] Enlever parametres de l'url

Toujours pas.

D'autant plus que je ne veux pas revenir au module par default, mais rester dans le module admin (pour aller a admin/user).

J'ai essayé

Code:

<a href="<?php echo $this->url(array('controller'=>'user', 'action'=>'index'),"admin", false); ?>"><< Retour</a>

mais tant que je met false les param restent dans l'url.

Si je passe a true:

Code:

<a href="<?php echo $this->url(array('controller'=>'user', 'action'=>'index'),"admin", true); ?>"><< Retour</a>

J'ai une erreur:
Fatal error: Uncaught exception 'Zend_Controller_Router_Exception' with message 'Route admin is not defined' in...

Hors ligne

 

#6 01-08-2008 07:33:35

Kaimite
Membre
Lieu: Marseille
Date d'inscription: 16-06-2008
Messages: 144
Site web

Re: [Résolu][1.5] Enlever parametres de l'url

Salut,

default, ou admin dans ta version,  ne correspond pas au module mais au nom de la route que tu désire utiliser si c'est une route personnalisée.

Désolé j'ai fait un copier-coller un peu rapide.

Passe le nom de la route à default et le dernier parametre à true.

Ce qui va te donner :

Code:

<a href="<?php echo $this->url(array('controller'=>'user', 'action'=>'index'),"default", true); ?>"><< Retour</a>

Plus d'explications ici : http://www.z-f.fr/forum/viewtopic.php?id=1597

Cordialement,
Kaimite

Hors ligne

 

#7 01-08-2008 10:26:21

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu][1.5] Enlever parametres de l'url

C'est très simple, si tu veux enlever un paramètre sans faire un reset de ta route, il te suffit de le mettre à null.

Code:

<a href="<?=$this->url(array(
    'controller'=>'user',
    'action'=>'index',
    'id'=>null,
    )); ?>">&lt;&lt; Retour</a>

Hors ligne

 

#8 01-08-2008 14:51:09

pozowebs
Membre
Lieu: Gran Canaria
Date d'inscription: 06-07-2008
Messages: 83
Site web

Re: [Résolu][1.5] Enlever parametres de l'url

Merci bien!

Les deux solutions fonctionnent.

Mettre le paramètre que je veux eliminer de l'url à null (dans cet exemple, "id"):

Code:

<a href="<?php echo $this->url(array('controller'=>'user',
        'action'=>'index', 'id'=>null)); ?>">Retour</a>

Ou bien faire un reset de la route (en passant en param le nom du module "admin", sinon cela me renvoit au module par default):

Code:

<a href="<?php echo $this->url(array('module' => 'admin', 'controller'=>'user',
        'action'=>'index'), "", true); ?>">Retour</a>

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages