Пример #1
0
 /**
  * @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;
 }
Пример #2
0
 /**
  * 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();
 }