Exemplo n.º 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);
                 }
             }
         }
     }
 }
Exemplo n.º 2
0
 public function testTranslatorFromRegistryUsedWhenNoneRegistered()
 {
     $this->assertNull($this->form->getTranslator());
     $translator = new Translator('ArrayAdapter', array('foo' => 'bar'));
     Registry::set('Zend_Translator', $translator);
     $received = Form::getDefaultTranslator();
     $this->assertSame($translator->getAdapter(), $received);
     $received = $this->form->getTranslator();
     $this->assertSame($translator->getAdapter(), $received);
     $form = new Form();
     $received = $form->getTranslator();
     $this->assertSame($translator->getAdapter(), $received);
 }