Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Probleme liste de jForms

Posted by misterben02 on 07/11/2011 18:27

Bonjour a tous;

Dans le site internet que je développe actuellement, j'ai besoin de répéter un formulaire JForm et une partie de code dans mon Template. J'ai donc créé une array de Jfrom dans mon contrôleur.

Contrôleur :

$listForm = array(); 
array_push($listForm , $form1); 
array_push($listForm , $form2); 
array_push($listForm , $form3);

Mon problème : lorsque je fait un foreach dans mon contrôleur ou dans mon Template pour boucler sur la liste de formulaire $listeForm, je ne boucle que sur le 1er formulaire et jamais je n'arrive a récupérer les valeurs des autres.

Template :

{foreach($listForm as $form)} 
..... 
{/foreach}

Contrôleur :

 foreach ($listForm as $form){
<code>
     jLog::dump($form->getData('zone'),"nomZone","mess");

}</code>

Avec le code du contrôleur je récupère la même valeur a chaque passage.

Par contre lorsque je fait

jLog::dump($form1->getData('zone'),"nomZone","mess"); 
jLog::dump($form2->getData('zone'),"nomZone","mess"); 
jLog::dump($form3->getData('zone'),"nomZone","mess");

Les valeurs récupérées sont bien différentes.

Questions: Est il possible de faire une array de Jform puis de boucler dessus avec un foreach? Si oui ou est mon erreur? Si non comment faire?

Merci de me répondre.

Cordialement

  [Opened] Probleme liste de Jform

Reply #1 Posted by foxmask on 07/11/2011 22:02

Bonsoir, quel est le but de cette répétition ?


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] Probleme liste de Jform

Reply #2 Posted by misterben02 on 07/12/2011 09:15

En faite je récupère plusieurs enregistrements différents par une requête dans mon contrôleur. Le but ensuite est d'afficher ces enregistrements dans la page web et le code du Template est le même quelque soit l'enregistrement.

Je pensais donc faire dans mon Template une boucle sur l'array de formulaire histoire de ne pas dupliquer le code et surtout qu'il peut y avoir n nombre d'enregistrement possible.

  [Opened] Probleme liste de Jform

Reply #3 Posted by laurentj on 07/12/2011 09:53

Bonjour,

{foreach($listForm as $form)}

enlève les parenthèses, elles ne sont pas necessaires.

Comment as tu injecté ton $listForm dans le template ? Donnes nous le code de ton controleur.

  [Opened] Probleme liste de jForms

Reply #4 Posted by misterben02 on 07/12/2011 15:12

merci je vais essayé d'enlever les parenthèses.

Sinon dans mon contrôleur (fonction _editUpdate($form, $resp, $tpl)) j'envoi $listForm comme cela.

$tpl->assign('listForm', $listForm);

  [Opened] Probleme liste de jForms

Reply #5 Posted by misterben02 on 07/12/2011 16:30

C'est bon j'ai trouvé. Il est bien possible de faire un foreach sur une array de Jfrom.

Mon problème était du a l'utilisation du même Form a chaque passage et même si je créais des JForm avec des noms différents, les données étaient écrasées.

Y a t'il une solution qui me permettrais de ne pas avoir plein de Froms qui pointe sur la même DAO et qui fasse le même résultat?

 

  [Opened] Probleme liste de jForms

Reply #6 Posted by foxmask on 07/12/2011 21:36

bonsoir,

c'est jForms (pas Froms:)

sinon je n'ai pas saisi la question.


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] Probleme liste de jForms

Reply #7 Posted by laurentj on 07/13/2011 11:50

je ne comprend pas ce que tu fais avec tes formulaires. Si tu fais un jForms::create/get à chaque fois (en indiquant un identifiant), tu obtiens une instance du formulaire différente pour chacun.

Et quand je te demande le code de ton contrôleur, c'est pas une ligne, mais toute la méthode. ça nous permettrait de voir où tu te trompes exactement (et apparemment tu trompes à pas mal d'endroit vu que tu semble instancier tes formulaires d'une façon que je ne comprend pas trop...).

 
Page
  1. Probleme liste de jForms