Aucun problème.
Ajoutez ZendX_JQuery à votre bibliothèque si vous utilisez le chargement automatique.
Ensuite, étendez ZendX_JQuery_Form à vos besoins. Faites vos choses dans la méthode init() de votre classe.
Par exemple, j'ai pu créer un champ de saisie semi qui a la validation régulière de Zend_Form ainsi que le comportement JQuery comme ceci:
$elem = new ZendX_JQuery_Form_Element_AutoComplete(
'query',
array('Label' => 'Search',
'required'=>true,
'filters'=>array('StripTags'),
'validators'=>array(
array('validator'=>'StringLength',
'options'=>array('min'=>'3'),
'breakChainOnFailure'=>true
),
array('Alnum')
)
)
);
$elem->setJQueryParams(array('data' => array(),
'url' => 'my_autocomplete_callback.php',
'minChars' => 1,
'onChangeInterval' => 500,
)
);
Puis j'ai même changé les décorateurs par défaut comme celui-ci:
$elementDecorators = array(
array('UiWidgetElement', array('tag' => '')),
array('Errors', array('tag' => 'div', 'class'=>'error')),
array('Label'),
array('HtmlTag', array('tag' => 'div')),
);
$elem->setDecorators($elementDecorators);
Et enfin ajouter à mon formulaire (rappelez-vous que je suis dans le init() donc je vais l'adresser via $ this):
$this->addElement($elem);
Voilà, la magie est faite.
PS: ne pas oublier d'ajouter ce qui suit dans votre fichier de démarrage:
$view->addHelperPath('ZendX/JQuery/View/Helper/', 'ZendX_JQuery_View_Helper');
S'il vous plaît méfiez-vous cela - ZendX sera abandonné et ne sera plus supporté. – MEM
@MEM: Lien de source? – JCM
@Jonathan http://zend-framework-community.634137.n4.nabble.com/Discontinuing-Maintenance-of-ZendX-JQuery-Suggest-drop-for-2-0-td3221856.html – MEM