/** * The template file * @return string */ public function TemplateFile() { if (!$this->AllowCustomTemplates() || !$this->content || !$this->content->GetTemplate()) { return $this->BuiltInTemplateFile(); } $file = Path::Combine(PathUtil::ModuleCustomTemplatesFolder($this), $this->content->GetTemplate()); return Path::AddExtension($file, 'phtml'); }
protected function BeforeInit() { $templateID = Request::GetData('template'); $idParts = explode('/', $templateID); $this->InitModule($idParts); $this->folder = PathUtil::ModuleCustomTemplatesFolder($this->module); $this->template = isset($idParts[1]) ? $idParts[1] : ''; return !$this->module; }
private function RemoveTemplate() { $id = Request::PostData('delete'); if (!$id) { return false; } $idParts = \explode('/', $id); $module = $this->RemovalTemplateModule($idParts); $templateName = trim($idParts[1]); if (!$module || !$templateName) { return false; } $logger = new Logger(self::Guard()->GetUser()); $logger->ReportTemplateAction($module->MyType(), $templateName, Action::Delete()); $folder = PathUtil::ModuleCustomTemplatesFolder($module); $template = Path::Combine($folder, Path::AddExtension($templateName, 'phtml')); if (File::Exists($template)) { File::Delete($template); } $this->DeleteUsages($module, $templateName); return true; }
/** * Adds the template select field * @param FrontendModule $module The module for template selection */ protected final function AddTemplateField() { $name = 'Template'; $field = new Select($name, (string) $this->Content()->GetTemplate()); $field->AddOption('', Trans("Core.ContentForm.{$name}.Default")); $folder = PathUtil::ModuleCustomTemplatesFolder($this->FrontendModule()); if (Folder::Exists($folder)) { $files = Folder::GetFiles($folder); foreach ($files as $file) { $value = Path::FilenameNoExtension($file); $field->AddOption($value, $value); } } $this->AddField($field, false, Trans("Core.ContentForm.{$name}")); }