/** * @param string $sPostfix string of template 'list item' identifier * retrieve all templates from site template dir that follow a naming convention * list template name: examplename.tmpl * list_item template name: examplename_item.tmpl * @return array assoc of path to examplename in key and value */ public static function getSiteTemplatesForListOutput($sPostfix = '_item') { $aTemplateList = ArrayUtil::arrayWithValuesAsKeys(Template::listTemplates(DIRNAME_TEMPLATES, true)); $aListTemplates = array(); foreach ($aTemplateList as $sPath => $sListName) { if (StringUtil::endsWith($sListName, $sPostfix)) { $sPath = substr($sListName, 0, -strlen($sPostfix)); $aListTemplates[$sPath] = $sPath; } } foreach ($aListTemplates as $sListPath) { if (!in_array($sListPath, $aTemplateList)) { unset($aListTemplates[$sListPath]); } } return $aListTemplates; }
/** * getFrontendTemplates() * * @param boolean $bExcludeDefault, @see config.yml frontend: main_template * description: * called once at page_detail widget prepare * @return array of template name options */ public static function getFrontendTemplates($bExcludeDefault = true) { $aResult = array(); $sDefaultTemplate = Settings::getSetting('frontend', 'main_template', 'general'); foreach (Template::listTemplates(DIRNAME_TEMPLATES) as $i => $sTemplateName) { if (Settings::getSetting('frontend', 'main_template', 'general') === $sTemplateName && $bExcludeDefault) { continue; } $aResult[$i]['is_default'] = false; $aResult[$i]['value'] = $sTemplateName; $aResult[$i]['name'] = StringUtil::makeReadableName($sTemplateName); } $aResult[$i + 1]['value'] = ""; $aResult[$i + 1]['is_default'] = true; $aResult[$i + 1]['name'] = TranslationPeer::getString('wns.default'); krsort($aResult); return $aResult; }