/** * @return PanelHelper */ protected function getPanelHelper() { if ($this->panelHelper) { return $this->panelHelper; } if (method_exists($this->view, 'plugin')) { $this->panelHelper = $this->view->plugin($this->defaultPanelHelper); } if (!$this->panelHelper instanceof PanelHelper) { $this->panelHelper = new PanelHelper(); $this->panelHelper->setView($this->getView()); } return $this->panelHelper; }
/** * Render Form Panel * * @param FormInterface $form * @param array $attribs * @param mixed $header * @param mixed $footer * @throws InvalidArgumentException * @return string */ public function render($form, array $attribs = [], $header = null, $footer = null) { if (!$form instanceof FormInterface) { throw new InvalidArgumentException(sprintf('First argument must be an instance of %s; %s given', FormInterface::class, is_object($form) ? get_class($form) : gettype($form))); } if (!method_exists($this->view, 'plugin')) { // Bail early if renderer is not pluggable return ''; } if (!array_key_exists('class', $attribs)) { $attribs['class'] = 'panel-primary'; } if (method_exists($form, 'prepare')) { $form->prepare(); } $formOpenTag = $this->getFormHelper()->openTag($form); if (null === $header) { $header = $this->renderHeader($form); } $footer = $this->renderFooter($form); if (func_get_arg(3) !== null) { $footer = func_get_arg(3); } $formMessagesHelper = $this->getFormMessagesHelper(); $content = $formMessagesHelper($form) . $this->renderContent($form); return $formOpenTag . parent::render($content, $attribs, $header, $footer) . $this->getFormHelper()->closeTag(); }