Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 16-05-2010 00:25:00

faldo1
Membre
Date d'inscription: 15-05-2010
Messages: 25

[Zend_controller][ZF1.10] Fiche multi onglets, passer 2 variables ?

Bonsoir,

Pour ma première application Zend et mon écran "sociétés", j'aimerais implémenter une interface utilisateur en forme de fiche avec

- en haut: les données de la société (read-only)
- en bas, un tabPage avec plusieurs onglets éditables. Un par type de données liées à ma société.

Pour simplifier, on va se limiter à deux: une société à n numéros de téléphone et n adresses.

Ce que j'ai fait actuellement: dans mon controller, j'ai un viewAction qui prend deux paramètres

- id de la société
- onglet à afficher

Mon controller récupère les données de l'onglet à afficher; la vue, selon l'onglet à afficher, fait des includes de fichiers phtml spécifiques dans lesquels je bâtis l'onglet à afficher.

Et ça marche... presque

Au premier appel à viewAction, je ne passe que l'id de la société. L'onglet des téléphones est activé par défaut Et tout se passe assez bien.
Dans la partie du bas, je vois la liste des numéros de téléphone. J'ai une action "Ajouter" qui enverra juste l'id de la société au controller et à côté de chaque téléphone, j'ai les deux actions "effacer" et "modifier" qui n'envoient que l'id du numéro de téléphone au controller.

Si j'édite  un téléphone et que je valide, l'action validatephoneAction du controller met à jour le numéro dans la db puis appelle un $this->_helper->redirector->gotoSimple() pour revenir au view. Et là, pour rester dans le même onglet, je ne passe plus un mais deux paramètres. L'adresse a la forme <monsite>/Company/view/id/4/onglet/Phones

Déjà, je n'aime pas ces deux variables.

Mais si je regarde ensuite la liste des téléphones réaffichée après modification, le bouton "Ajouter" ne renseigne que l'id de la société tandis que les "effacer" et "modifier" au niveau de chaque téléphone passent maintenant les deux paramètres: id et onglet. Un peu comme si les deux paramètres n'en faisaient qu'un.

Pourtant, tous les liens sont bâtis avec $this->url(array(...))

Bref:

- je ne trouve pas ça la plus belle solution
- je ne comprends pas pourquoi le deuxième paramètre passé à la page se retrouve malgré moi comme deuxième paramètre dans certains liens de la page.

Qui pourrait me conseiller ? Voire me donner un exemple "idéal" ?

Merci d'avance !

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