public function setTemplateFile(ITemplate $template, Control $control) { $renderMode = $control instanceof IRenderMode ? $control->getRenderMode() : IRenderMode::DEFAULT_RENDER_MODE; $renderMode = $renderMode === IRenderMode::DEFAULT_RENDER_MODE ? ITemplateLocator::DEFAULT_COMPONENT_RENDER_MODE : $renderMode; $files = $this->templateLocator->formatComponentTemplateFiles($control, $renderMode); foreach ($files as $file) { if (is_file($file)) { $template->setFile($file); break; } } if (!$template->getFile()) { $file = preg_replace('#^.*([/\\\\].{1,70})\\z#U', "…\$1", reset($files)); $file = strtr($file, '/', DIRECTORY_SEPARATOR); throw new FileNotFoundException("Control template not found. Missing template '{$file}'."); } }
public function formatTemplateFiles() { return $this->templateLocator->formatTemplateFiles($this); }