Esempio n. 1
0
 /**
  * @param $name
  * @return Element
  */
 public function row($name)
 {
     if (isset($this->cache[$name])) {
         return $this->cache[$name];
     }
     $elem = $this->fieldSet->get($name);
     if ($elem instanceof ZendFieldSet) {
         $return = new Element($elem, $this->renderer);
         $this->cache[$name] = $return;
         return $return;
     }
     throw new \DomainException('Invalid form fieldset object');
 }
Esempio n. 2
0
 /**
  * Helper method. Retrieves all elements from fieldset the $element belongs to.
  *
  * @param ElementInterface $element
  * @param FieldsetInterface $fieldset
  * @return array|\Traversable
  */
 protected function getFieldsetElements(ElementInterface $element, FieldsetInterface $fieldset)
 {
     $elementName = $this->normalizeElementName($element->getName());
     if ($fieldset->has($elementName) && $fieldset->get($elementName) === $element) {
         return array_merge($fieldset->getElements(), $fieldset->getFieldsets());
     }
     if ($fieldset instanceof Element\Collection && (($elements = $this->getFieldsetElements($element, $fieldset->getTargetElement())) || ($template = $fieldset->getTemplateElement()) && ($elements = $this->getFieldsetElements($element, $template)))) {
         return $elements;
     }
     foreach ($fieldset->getFieldsets() as $fieldsetElement) {
         if ($elements = $this->getFieldsetElements($element, $fieldsetElement)) {
             return $elements;
         }
     }
     return [];
 }