/** * Render a template or a view model * * @param string|array|ViewModel $template * @param array $variables * * @return string */ public function render($template, array $variables = array()) { if ($template instanceof ViewModel) { $template->setVariables($variables); } elseif (is_array($template)) { $section = isset($template['section']) ? $template['section'] : Pi::engine()->application()->getSection(); $module = !empty($template['module']) ? $template['module'] : Pi::service('module')->current(); $file = $template['file']; $template = $module . ':' . ($section ? $section . '/' : '') . $file; } $content = $this->getViewManager()->getRenderer()->render($template, $variables); return $content; }