/** * Генерирует форму для заполнения доп данных * @return Zend_Form $form Форма для завершения регистрации */ public function getForm($params) { $form = new Zend_Form(); // Устанавливаем декораторы $form->setAction($form->getView()->url($params, 'auth_openid_complete'))->setAttrib('id', 'zend_form'); //Email $email = new Zend_Form_Element_Text('email'); $email->setRequired(true)->addValidator('EmailAddress', false, array('domain' => false))->addValidator(new ZendExtra_Validate_Email())->setOptions(array('domain' => false))->setLabel('Email:')->setDescription($form->getView()->translate('Enter email for recieving password'))->setAttrib('onBlur', 'validate(this);'); $form->addElement($email); // Кнопка "Отправить" $submit = new Zend_Form_Element_Text('submit'); $html = '<dt></dt><dd><a class="btn-base btn-normal" href="javascript:;" onClick=\'$("#zend_form").submit();\'><span></span>' . $form->getView()->translate('submit') . '</a></dd>'; $submit->setDecorators(array('decorator' => array('br' => new ZendExtra_Form_Decorator_HtmlCode(array('tag' => $html, 'placement' => Zend_Form_Decorator_Abstract::PREPEND)))))->setOrder(100); $form->addElement($submit); return $form; }
protected function _recursivelyPrepareForm(Zend_Form $form) { $belongsTo = $form instanceof Zend_Form ? $form->getElementsBelongTo() : null; $elementContent = ''; $separator = $this->getSeparator(); $translator = $form->getTranslator(); $view = $form->getView(); foreach ($form as $item) { $item->setView($view)->setTranslator($translator); if ($item instanceof Zend_Form_Element) { $item->setBelongsTo($belongsTo); } elseif (!empty($belongsTo) && $item instanceof Zend_Form) { if ($item->isArray()) { $name = $this->mergeBelongsTo($belongsTo, $item->getElementsBelongTo()); $item->setElementsBelongTo($name, true); } else { $item->setElementsBelongTo($belongsTo, true); } $this->_recursivelyPrepareForm($item); } elseif (!empty($belongsTo) && $item instanceof Zend_Form_DisplayGroup) { foreach ($item as $element) { $element->setBelongsTo($belongsTo); } } } }
public function testCanSetView() { $view = new Zend_View(); $this->assertNull($this->form->getView()); $this->form->setView($view); $received = $this->form->getView(); $this->assertSame($view, $received); }
public function testCanSetView() { $view = new View\PhpRenderer(); $test = $this->form->getView(); $this->assertNotSame($view, $test); $this->form->setView($view); $received = $this->form->getView(); $this->assertSame($view, $received); }
public function testFormShouldEnableView() { $form = new Zend_Form(); $view = new Zend_View(); $form->setView($view); $this->assertFalse(false !== $form->getView()->getPluginLoader('helper')->getPaths('ZendX_JQuery_View_Helper')); ZendX_JQuery::enableForm($form); $this->assertTrue(false !== $form->getView()->getPluginLoader('helper')->getPaths('ZendX_JQuery_View_Helper')); }
/** * Dojo-enable a form instance * * @param Zend_Form $form * @return void */ public static function enableForm(Zend_Form $form) { $form->addPrefixPath('Zend_Dojo_Form_Decorator', 'Zend/Dojo/Form/Decorator', 'decorator')->addPrefixPath('Zend_Dojo_Form_Element', 'Zend/Dojo/Form/Element', 'element')->addElementPrefixPath('Zend_Dojo_Form_Decorator', 'Zend/Dojo/Form/Decorator', 'decorator')->addDisplayGroupPrefixPath('Zend_Dojo_Form_Decorator', 'Zend/Dojo/Form/Decorator')->setDefaultDisplayGroupClass('Zend_Dojo_Form_DisplayGroup'); foreach ($form->getSubForms() as $subForm) { self::enableForm($subForm); } if (null !== ($view = $form->getView())) { self::enableView($view); } }
/** * jQuery-enable a form instance * * @param \Zend_Form $form * @return void */ public static function enableForm(\Zend_Form $form) { $form->addPrefixPath('ZendX_JQuery_Form_Decorator', 'ZendX/JQuery/Form/Decorator', 'decorator')->addPrefixPath('ZendX_JQuery_Form_Element', 'ZendX/JQuery/Form/Element', 'element')->addElementPrefixPath('ZendX_JQuery_Form_Decorator', 'ZendX/JQuery/Form/Decorator', 'decorator')->addDisplayGroupPrefixPath('ZendX_JQuery_Form_Decorator', 'ZendX/JQuery/Form/Decorator'); foreach ($form->getSubForms() as $subForm) { self::enableForm($subForm); } if (null !== ($view = $form->getView())) { self::enableView($view); } }
/** * @group ZF-10149 */ public function testIfViewIsSetInTime() { try { $form = new Zend_Form(array('view' => new MyTestView())); $this->assertTrue($form->getView() instanceof MyTestView); $form = new Zend_Form(array('view' => new StdClass())); $this->assertNull($form->getView()); $result = $form->render(); } catch (Zend_Form_Exception $e) { $this->fail('Setting a view object using the options array should not throw an exception'); } $this->assertNotEquals($result, ''); }
/** @inheritdoc */ public function getView() { if (null === $this->_view) { $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer'); if (!$viewRenderer->view) { $view = new Zend_View(); $view->doctype('XHTML1_STRICT'); $viewRenderer->setView($view); } } return parent::getView(); }