Bonjour les Zenders !

Suite à ce message réactivant une de mes demandes d'il y a presque un an, j'ai mis en oeuvre la solution suggérée par Maïtre Pylos mais le paramètre passé dans l'URL persiste sur un lien qui pourtant ne l'inclut pas.

La vue appelante gereretablissements/ajouter.phtml contient un Zend_Form_Element_Select contenant la liste des types d'établissements existants en BDD, suivi d'un lien qui ouvre la vue gerertypesetablissements/ajouter avec en paramètre dans l'URL '/from/gereretablissements_ajouter', c'est à dire le contrôleur et l'action qui ouvre l'ajout d'un type d'établissement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<form action="<?php echo $this->url(array('action'=>'ajouter')); ?>" method="post">
    <?php echo $this->form->etb_id_type_etablissement;?> 
    <a href="<?php echo $this->url(array('controller'=>'gerertypesetablissements', 
                                        'action'=>'ajouter',
                                        'from'=>'gereretablissements_ajouter'
                                        )
                                    )
    ;?>" >
        Ajouter un type d'établissement
    </a><br />
Dans le contrôleur gerertypesetablissements.php, j'ai 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
    public function ajouterAction()
    {
        $this->view->action = 'ajouter';
 
        // Recherche de la vue éventuelle qui a lancé l'action
        unset($source);
           $source = $this->_request->getParam('from');
 
//...
 
                // Redirection vers la vue source
                if(isset($source))
                {
                    // $source est du type 'controleur_action'
                    $param = explode('_', $source);
                    $cible = $param[0].'/'.$param[1].'/te_id/'.$te_id;
                }
                else
                {
                    $cible = '/gerertypesetablissements/index';
                }
                $this->_redirect($cible);
=> Je récupère bien le paramètre from et quand j'ai ajouter mon nouveau type d'établissement, je retourne vers la vue appelante gereretablissements/ajouter et je passe en paramètre l'identifiant du type d'établissement ajouter afin de positionner le Zend_Form_Element_Select sur cette valeur.
Pour ce faire, dans gereretablissements/ajouter, j'ai ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
        // Recherche du type d'établissement éventuellement ajouté à la liste
        unset($param);
        $param = $this->_request->getParam('te_id');
        $form->etb_id_type_etablissement->setValue($param);
 
        $this->view->form = $form;
Le processus fonctionne bien mais le problème est que maintenant le lien "Ajouter un type d'établissement" pointe sur "/gerertypesetablissements/ajouter/te_id/10/from/gereretablissments/ajouter", c'est à dire qu'il a conservé le paramètre te_id !

Pire, les autres liens de la page ont aussi ce paramètre inutile en fin d'URL, ainsi que les liens des autres pages !

Une idée de la cause et pour éviter ça ?