Example #1
0
 /** {@inheritdoc} */
 public function renderFieldset(\Zend\View\Renderer\PhpRenderer $view, \Zend\Form\Fieldset $fieldset)
 {
     $output = '';
     if ($fieldset->has('Packages')) {
         $packages = $fieldset->get('Packages');
         if ($packages->count()) {
             $formRow = $view->plugin('FormRow');
             $translatorEnabled = $formRow->isTranslatorEnabled();
             $formRow->setTranslatorEnabled(false);
             $output = "<div class='table'>\n";
             foreach ($packages as $package) {
                 $output .= $view->formRow($package, 'append') . "\n\n";
             }
             $output .= "<span class='cell'></span>\n";
             $output .= $view->formSubmit($fieldset->get('Submit')) . "\n";
             $output .= "</div>\n";
             $formRow->setTranslatorEnabled($translatorEnabled);
         }
     }
     return $output;
 }
Example #2
0
 /**
  * Render all elements from a fieldset
  *
  * This method iterates over all elements from the given fieldset and
  * renders them in a way appropriate for each element type. Subclasses with
  * more specialized rendering may extend or replace this method.
  *
  * @param \Zend\View\Renderer\PhpRenderer $view
  * @param \Zend\Form\Fieldset $fieldset
  * @return string HTML code
  */
 public function renderFieldset(\Zend\View\Renderer\PhpRenderer $view, \Zend\Form\Fieldset $fieldset)
 {
     $output = '<div class="table">';
     foreach ($fieldset as $element) {
         $row = '';
         if ($element instanceof \Zend\Form\Element\Submit) {
             $row .= "<span class='cell'></span>\n";
             $row .= $view->formSubmit($element);
         } elseif ($element instanceof \Zend\Form\Fieldset) {
             $row .= $view->htmlTag('span', $view->translate($element->getLabel()), array('class' => 'label'), true) . "\n";
             $row .= $view->htmlTag('fieldset', "<legend></legend>\n" . $this->renderFieldset($view, $element));
         } elseif (!$element instanceof \Zend\Form\Element\Csrf) {
             $row .= $view->formRow($element, 'prepend', false);
             if ((string) $element->getLabel() == '') {
                 $row = "<div class='row'>\n<span class='label'></span>\n{$row}\n</div>";
             }
             if ($element->getMessages()) {
                 $row .= "\n<span class='cell'></span>\n";
                 $row .= $view->formElementErrors($element, array('class' => 'errors'));
             }
             if ($element->hasAttribute('id')) {
                 // The FormRow helper renders the label differently: It
                 // precedes the element instead of encapsulating it.
                 // Add a div wrapper to achieve the same appearance.
                 $row = "<div class='row'>\n{$row}\n</div>";
             }
         }
         $output .= $row . "\n";
     }
     $output .= "</div>\n";
     return $output;
 }