/** * Allows subclasses to generate the view's markup dinamically. * If not overridden, the default behaviour is to render the view previously set by {@see createView}. * * ><p>**Note:** this returns nothing; the output is sent directly to the output buffer. */ protected function render() { if ($this->view) { // The view model is sent to render() because the view may not be a Matisse template, in which case the model must // be set explicitly. echo $this->view->render($this->getViewModel()); } elseif ($this->shadowDOM) { $this->shadowDOM->run(); } // Otherwise, do NOT render the component's content }