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); } } } } }
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); }