для наших приложений мы используем Zend_form, без какой-либо части стека ZF MVC.Мы хотели бы создавать динамические формы (Javascript, Ajax powered), мы ищем Dojo, но он не работает "из коробки".Интерактивная документация Zend Framework не помогла, потому что все примеры говорят о Zend_Form в приложениях MVC.
Где наша ошибка?Чего нам не хватает?Вот код:
$oViewZF = new Zend_View();
Zend_Dojo::enableView($oViewZF);
$oViewZF->addHelperPath(PATH_ZF . '1.11.4/library/Zend/Dojo/View/Helper', 'Zend_Dojo_View_Helper');
$oViewZF->dojo()->setCdnVersion('1.1.1');
$oViewZF->dojo()->setLocalPath('dojo/dojo/dojo.js')->addStyleSheetModule('dijit.themes.tundra');
$form = new Zend_Dojo_Form();
$form->setAction($url)->setMethod('post')->setTranslator(self::ZendFormTranslate());
$form->addPrefixPath('Zend_Dojo_Form', 'Zend/Dojo/Form/')
->addElementPrefixPath('Zend_Dojo_Form', 'Zend/Dojo/Form/')
->addDisplayGroupPrefixPath('Zend_Dojo_Form', 'Zend/Dojo/Form/');
$form->setDecorators(array('FormElements', array('TabContainer', array('id' => 'tabContainer', 'style' =>
'width: 600px; height: 500px;', 'dijitParams' => array('tabPosition' => 'top'))), 'DijitForm'));
echo $oViewZF->headScript(); #show nothing
echo $oViewZF->dojo(); #print "style @import dojo/dijit/themes/tundra/tundra.css"; and <script type="text/javascript" src="dojo/dojo/dojo.js"></script>
echo $oViewZF->layout()->content; #show nothing
echo $oViewZF->inlineScript(); #show nothing
$birthday = new Zend_Dojo_Form_Element_DateTextBox('birthday');
$birthday->setLabel('Birthday');
$form->addElement($birthday);
$form->addElement('submit', 'cmd', array('label' => 'Créer'));
echo $form->render($oViewZF);
Он показывает только текстовое поле ввода без какой-либо ошибки JS:
<dt id="birthday-label"><label for="birthday" class="optional">Birthday</label></dt>
<dd><input id="birthday" name="birthday" value="" type="text"></dd>
Мы хотели бы использовать средства выбора даты, поля обязательны для заполнения / видимы только когдафлажок установлен и т. д.
С уважением,
Cédric
ps: если я размещу $ oViewZF-> Dojo () (см. Zend_Dojo_Form в макете * 1015)*) после вызова render () у меня появляется эта ошибка JS
Ошибка: необработанное исключение: [Exception ... "Строка содержит недопустимый символ" code: "5" nsresult: "0x80530005 (NS_ERROR_DOM_INVALID_CHARACTER_ERR) "местоположение:" http://127.0.0.1/~cedric/EC/VOOELFE/code/decideur/public/dojo/dojo/_base/_loader/bootstrap.js Строка: 1930 "]