Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 21-12-2011 12:20:26

le_viking
Nouveau membre
Date d'inscription: 19-12-2011
Messages: 7

[ZF 1.11] JQuery, Autocompletion

Bonjour,

Je tente de mettre en place l'auto complétion dans un de mes projets. Dans un cas très simple, cela fonctionne :

Dans un controller :

Code:

[lang=php]
        $formulaire = new ZendX_JQuery_Form_Element_AutoComplete('ac');
        $formulaire->setLabel('AutoComplete');        
        $formulaire->setJQueryParam('data', array('toto', 'tata', 'lolz'));
        $this->view->form = $formulaire;

La vue :

Code:

[lang=php] echo $this->form; ?>

Ceci fonctionne. J'essai de complexifier un peu :

Controller :

Code:

[lang=php]
public function rechercheAction()
    {
        $this->_helper->json(array_values("toto", "tata", "tonton"));
    }

    public function searchprodAction()
    {
        $baseurl = Zend_Controller_Front::getInstance()->getBaseUrl();
        
        $formulaire = new ZendX_JQuery_Form_Element_AutoComplete('ac');
        $formulaire->setLabel('AutoComplete');        
        $formulaire->setJQueryParams(array('source' => $baseurl.'/admin/utilisateur/recherche'));
        $this->view->form = $formulaire;
        }

L'auto complétion ne marche plus. Je ne comprend pas pourquoi. Si vous avez une piste smile
Je me base sur ce tuto.

Merci d'avance!

Dernière modification par le_viking (21-12-2011 12:21:41)

Hors ligne

 

#2 21-12-2011 13:00:14

Roromix
Membre
Date d'inscription: 05-12-2011
Messages: 55

Re: [ZF 1.11] JQuery, Autocompletion

Dans rechercheAction(), je te conseille plutôt de mettre:

Code:

$this->_helper->viewRenderer->setNoRender(true);
echo Zend_Json::encode(array_values(array('toto', 'titi', 'tata')));

En fait, à la base tu as oublié le array() dans array_values()

Dernière modification par Roromix (21-12-2011 13:01:14)

Hors ligne

 

#3 21-12-2011 13:18:57

le_viking
Nouveau membre
Date d'inscription: 19-12-2011
Messages: 7

Re: [ZF 1.11] JQuery, Autocompletion

Merci pour ta réponse Roromix. Cependant, cela ne fonctionne toujours pas.
Il y a-t-il un moyen de savoir si la fonction "recherche" est bien appelé ? Je doute sur ce point!

Hors ligne

 

#4 21-12-2011 13:57:22

Roromix
Membre
Date d'inscription: 05-12-2011
Messages: 55

Re: [ZF 1.11] JQuery, Autocompletion

Avec les outils de développement de ton navigateur tu dois pouvoir voir les requêtes HTTP dont l'AJAX.
Pareil si tu utilises Firebug...

Hors ligne

 

#5 21-12-2011 14:06:57

le_viking
Nouveau membre
Date d'inscription: 19-12-2011
Messages: 7

Re: [ZF 1.11] JQuery, Autocompletion

Bon. J'ai enfin trouvé mon erreur.
J'avais oublié de déclarer la fonction recherche dans mon ACL sad
Forcement ...

Merci à toi Roromix !

Hors ligne

 

#6 21-12-2011 15:38:02

r.monceau
Membre
Date d'inscription: 02-11-2009
Messages: 59

Re: [ZF 1.11] JQuery, Autocompletion

Juste un petit conseil qu'avait glisser Delprog sur un sujet similaire : http://www.z-f.fr/forum/viewtopic.php?pid=23513#p23513

[...]et de laisser le rôle d'afficher les données à la vue. Ce n'est pas parce qu'on ne vient pas d'un navigateur et qu'on ne demande pas du html qu'il faut laisser tomber le pattern MVC, la vue affiche les données.

Du coup, le setNoRender(true) suivi du echo n'est pas la meilleure solution smile

Hors ligne

 

#7 21-12-2011 16:00:47

le_viking
Nouveau membre
Date d'inscription: 19-12-2011
Messages: 7

Re: [ZF 1.11] JQuery, Autocompletion

Oui tu as raison. Le code exacte est :

Code:

[lang=php]
$this->_helper->json(array_values($monTab));

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