Ответ 1
Нет проблем.
Добавьте ZendX_JQuery в свою библиотеку, если вы используете автозагрузку.
Затем добавьте ZendX_JQuery_Form к вашим потребностям. Сделайте свой материал в методе init() вашего класса.
Например, мне удалось создать поле автозаполнения с регулярной проверкой Zend_Form и JQuery следующим образом:
$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,
)
);
Тогда я даже поменял декораторы по умолчанию следующим образом:
$elementDecorators = array(
array('UiWidgetElement', array('tag' => '')),
array('Errors', array('tag' => 'div', 'class'=>'error')),
array('Label'),
array('HtmlTag', array('tag' => 'div')),
);
$elem->setDecorators($elementDecorators);
И, наконец, добавьте в мою форму (помните, что я в init(), поэтому я буду обращаться к ней через $this):
$this->addElement($elem);
Вот вы, волшебство сделано.
PS: не забудьте добавить следующее в свой bootstrap:
$view->addHelperPath('ZendX/JQuery/View/Helper/', 'ZendX_JQuery_View_Helper');