/** * Renders a summary form container. * * @param SummaryFormInterface $form * @param string $layout * @param array $parameter * @return string */ public function render(SummaryFormInterface $form, $layout = Form::LAYOUT_HORIZONTAL, $parameter = array()) { $renderer = $this->getView(); $renderer->headscript()->appendFile($renderer->basePath('Core/js/jquery.summary-form.js')); $label = $form->getLabel(); $labelContent = $label ? '<div class="sf-headline"><h3>' . $this->getView()->translate($label) . '</h3></div>' : ''; $formContent = $this->renderForm($form, $layout, $parameter); $summaryContent = $this->renderSummary($form); $formContent = sprintf('<div class="sf-form"><div class="panel panel-info"><div class="panel-body">%s</div></div></div> <div class="sf-summary">%s</div> ', $formContent, $summaryContent); if ($form instanceof DescriptionAwareFormInterface && $form->isDescriptionsEnabled()) { $this->getView()->headscript()->appendFile($this->getView()->basepath('Core/js/forms.descriptions.js')); if ($desc = $form->getOption('description', '')) { $translator = $this->getTranslator(); $textDomain = $this->getTranslatorTextDomain(); $desc = $translator->translate($desc, $textDomain); } $formContent = sprintf('<div class="daf-form-container row"> <div class="daf-form col-md-8">%s</div> <div class="daf-desc col-md-4"> <div class="daf-desc-content alert alert-info">%s</div> </div> </div>', $formContent, $desc); } $markup = '<div id="sf-%s" class="sf-container" data-display-mode="%s">' . '%s' . '%s' . '</div>'; $content = sprintf($markup, $form->getAttribute('name'), $form->getDisplayMode(), $labelContent, $formContent); return $content; }