Example #1
0
 protected function _recursivelyPrepareForm(Form\Form $form)
 {
     $belongsTo = $form instanceof Form\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 Form\Element) {
             $item->setBelongsTo($belongsTo);
         } elseif ($item instanceof Form\Form) {
             if (!empty($belongsTo)) {
                 if ($item->isArray()) {
                     $name = $this->mergeBelongsTo($belongsTo, $item->getElementsBelongTo());
                     $item->setElementsBelongTo($name, true);
                 } else {
                     $item->setElementsBelongTo($belongsTo, true);
                 }
             }
             $this->_recursivelyPrepareForm($item);
         } elseif ($item instanceof Form\DisplayGroup) {
             if (!empty($belongsTo)) {
                 foreach ($item as $element) {
                     $element->setBelongsTo($belongsTo);
                 }
             }
         }
     }
 }
Example #2
0
 /**
  * Dojo-enable a form instance
  *
  * @param  \Zend\Form\Form $form
  * @return void
  */
 public static function enableForm(\Zend\Form\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);
     }
 }