Bonjour,
je fais à nouveau appel à vos connaissances pour un souci que j'ai depuis quelques temps sans résolution...
Dans mon formulaire de saisie d'entreprise (table entreprise), j'ai un champ personne que j'ai transformé en sfWidgetFormDoctrineJQueryAutocompleter afin qu'à la saisie, il aille chercher un nom de la table personne.
Ce lien fonctionne très bien pour l'ajout d'une nouvelle entreprise. Mais dès que je veux éditer une entreprise, je dois resaisir ce champ, car il n'est pas rempli automatiquement par SF selon les données existantes. Pour être plus précis, il rempli correctement le champ visible correspondant au nom de la personne, mais le champ caché devant contenir l'ID de la personne contient lui : array.
Savez-vous ce qui pose problème ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <label for="entreprise_contacts_list">Personne de contact</label> <input type="hidden" name="entreprise[contacts_list]" value="Array" id="entreprise_contacts_list" /> <input type="text" name="autocomplete_entreprise[contacts_list]" value="nom prenom" id="autocomplete_entreprise_contacts_list" />
Voici le contenu de mes différentes class.
Dans EntrepriseForm.class.php
Dans action.class.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $pph = new sfWidgetFormDoctrineJQueryAutocompleter(array( 'url' => '/autocomplete_pph', 'model' => 'PersonnePhysique', 'value_callback' => 'findOneById' )); $this->setWidget('contacts_list', $pph);
Dans routing :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public function executeAutocomplete(sfWebRequest $request) { $result = Doctrine_Core::getTable('PersonnePhysique') ->findPersonneByName($request['q']); $temp = array(); foreach ($result as $pph) { $temp[$pph['id']] = $pph->getNom()." ".$pph->getPrenom()." ".$pph->getPrenom2(); } return $this->renderText(json_encode($temp)); }
Merci d'avance, je vous avoue que là je sèche...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 autocomplete_pph: url: /autocomplete_pph param: { module: personne_physique, action: autocomplete}
++
Partager