/** * {@inheritdoc} */ public function addFirst(ViewController ...$elements) { foreach ($elements as $element) { if (!$element instanceof Column) { throw new \LogicException(sprintf("Invalid column type, got '%s'", get_class($element))); } $this->thead->addFirst($element); } return $this; }
/** * @return string */ public function render() { $timerEvent = new TimerEvent('router.htmlPage', ['elements' => sizeof($this->elements)]); $out = '<!DOCTYPE html lang="' . self::locale() . '">' . "\n"; // default seo if (!$this->headTitle && ($title = self::trans('seo.default/title'))) { $this->setHeadTitle($title); } if (!$this->headDescription && ($description = self::trans('seo.default/description'))) { $this->setHeadDescription($description); } // add mandatory headers $language = new HtmlElement('<meta />'); $language->addAttributes(['http-equiv' => 'Content-Language', 'content' => self::locale()]); $this->head->addFirst($language); $charset = new HtmlElement('<meta />'); $charset->addAttribute('charset', 'utf-8'); $this->head->addFirst($charset); $content = $this->body->getContent(); if ($content) { $this->body->setContent($content . $this->footer->render()); } $parent = parent::render(); $out .= $parent; $timerEvent->addData(['size' => $this->getContent() ? strlen($this->getContent()) : strlen($parent)]); self::emit($timerEvent); return $out; }
/** * {@inheritdoc} */ public function addFirst(ViewController ...$elements) { $this->container->addFirst(...$elements); return $this; }
/** * {@inheritdoc} */ public function addFirst(ViewController ...$elements) { foreach ($elements as $element) { parent::addFirst((new HtmlContainer('<div>'))->add($element)); } return $this; }
/** * {@inheritdoc} */ public function addFirst(ViewController ...$elements) { foreach ($elements as $element) { /* @noinspection PhpParamsInspection */ parent::addFirst($this->handleDisplay($element, true)); } return $this; }
/** * {@inheritdoc} */ public function addFirst(ViewController ...$elements) { foreach ($elements as $element) { if (method_exists($element, 'onAdd')) { $element->onAdd($this); } $this->populateValue($element); } return parent::addFirst(...$elements); }