当前位置: 首页>>代码示例>>PHP>>正文


PHP TemplateLoader::getPrefixedFiles方法代码示例

本文整理汇总了PHP中TemplateLoader::getPrefixedFiles方法的典型用法代码示例。如果您正苦于以下问题:PHP TemplateLoader::getPrefixedFiles方法的具体用法?PHP TemplateLoader::getPrefixedFiles怎么用?PHP TemplateLoader::getPrefixedFiles使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在TemplateLoader的用法示例。


在下文中一共展示了TemplateLoader::getPrefixedFiles方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getTemplateGroup

 /**
  * Return all template files of a particular group as array
  *
  * @param string $strPrefix The template name prefix (e.g. "ce_")
  *
  * @return array An array of template names
  */
 public static function getTemplateGroup($strPrefix)
 {
     $arrTemplates = array();
     // Get the default templates
     foreach (\TemplateLoader::getPrefixedFiles($strPrefix) as $strTemplate) {
         $arrTemplates[$strTemplate][] = 'root';
     }
     $arrCustomized = glob(TL_ROOT . '/templates/' . $strPrefix . '*');
     // Add the customized templates
     if (is_array($arrCustomized)) {
         foreach ($arrCustomized as $strFile) {
             $strTemplate = basename($strFile, strrchr($strFile, '.'));
             $arrTemplates[$strTemplate][] = $GLOBALS['TL_LANG']['MSC']['global'];
         }
     }
     // Do not look for back end templates in theme folders (see #5379)
     if ($strPrefix != 'be_' && $strPrefix != 'mail_') {
         // Try to select the themes (see #5210)
         try {
             $objTheme = \ThemeModel::findAll(array('order' => 'name'));
         } catch (\Exception $e) {
             $objTheme = null;
         }
         // Add the theme templates
         if ($objTheme !== null) {
             while ($objTheme->next()) {
                 if ($objTheme->templates != '') {
                     $arrThemeTemplates = glob(TL_ROOT . '/' . $objTheme->templates . '/' . $strPrefix . '*');
                     if (is_array($arrThemeTemplates)) {
                         foreach ($arrThemeTemplates as $strFile) {
                             $strTemplate = basename($strFile, strrchr($strFile, '.'));
                             if (!isset($arrTemplates[$strTemplate])) {
                                 $arrTemplates[$strTemplate][] = $objTheme->name;
                             } else {
                                 $arrTemplates[$strTemplate][] = $objTheme->name;
                             }
                         }
                     }
                 }
             }
         }
     }
     // Show the template sources (see #6875)
     foreach ($arrTemplates as $k => $v) {
         $v = array_filter($v, function ($a) {
             return $a != 'root';
         });
         if (empty($v)) {
             $arrTemplates[$k] = $k;
         } else {
             $arrTemplates[$k] = $k . ' (' . implode(', ', $v) . ')';
         }
     }
     // Sort the template names
     ksort($arrTemplates);
     return $arrTemplates;
 }
开发者ID:StephenGWills,项目名称:sample-contao-app,代码行数:64,代码来源:Controller.php

示例2: getNewsletterElementTemplates

 /**
  * Return all newsletter content element templates as array
  * @return array
  */
 public function getNewsletterElementTemplates()
 {
     $strPrefix = 'nl_';
     $arrTemplates = array();
     // Get the default templates
     foreach (\TemplateLoader::getPrefixedFiles($strPrefix) as $strTemplate) {
         $arrTemplates[$strTemplate][] = 'root';
     }
     $arrCustomized = glob(TL_ROOT . '/templates/' . $strPrefix . '*');
     // Add the customized templates
     if (is_array($arrCustomized)) {
         foreach ($arrCustomized as $strFile) {
             $strTemplate = basename($strFile, strrchr($strFile, '.'));
             $arrTemplates[$strTemplate][] = $GLOBALS['TL_LANG']['MSC']['global'];
         }
     }
     // Show the template sources (see #6875)
     foreach ($arrTemplates as $k => $v) {
         $v = array_filter($v, function ($a) {
             return $a != 'root';
         });
         if (empty($v)) {
             $arrTemplates[$k] = $k;
         } else {
             $arrTemplates[$k] = $k . ' (' . implode(', ', $v) . ')';
         }
     }
     // Sort the template names
     ksort($arrTemplates);
     return $arrTemplates;
 }
开发者ID:davidenke,项目名称:newsletter_content,代码行数:35,代码来源:tl_content.php

示例3: getTemplateGroup

 /**
  * Return all template files of a particular group as array
  * 
  * @param string  $strPrefix The template name prefix (e.g. "ce_")
  * @param integer $intTheme  The ID of the theme
  * 
  * @return array An array of template names
  */
 public static function getTemplateGroup($strPrefix, $intTheme = 0)
 {
     $strTplFolder = 'templates';
     $arrTemplates = \TemplateLoader::getPrefixedFiles($strPrefix);
     // Check for a theme templates folder
     if ($intTheme > 0) {
         $objTheme = \ThemeModel::findByPk($intTheme);
         if ($objTheme !== null && $objTheme->templates != '') {
             $strTplFolder = $objTheme->templates;
         }
     }
     // Scan the templates directory
     $arrFiles = array_values(preg_grep('/^' . $strPrefix . '/', scan(TL_ROOT . '/' . $strTplFolder)));
     if (!empty($arrFiles)) {
         foreach ($arrFiles as $strFile) {
             $arrTemplates[] = basename($strFile, strrchr($strFile, '.'));
         }
     }
     natcasesort($arrTemplates);
     $arrTemplates = array_values(array_unique($arrTemplates));
     return $arrTemplates;
 }
开发者ID:rikaix,项目名称:core,代码行数:30,代码来源:Controller.php

示例4: getTemplateGroup

 public static function getTemplateGroup($strPrefix, $intThemeId = null)
 {
     $arrTemplates = array();
     // Get the default templates
     foreach (\TemplateLoader::getPrefixedFiles($strPrefix) as $strTemplate) {
         $arrTemplates[$strTemplate] = $strTemplate;
     }
     $arrCustomized = glob(TL_ROOT . '/templates/' . $strPrefix . '*');
     // Add the customized templates
     if (is_array($arrCustomized)) {
         foreach ($arrCustomized as $strFile) {
             $strTemplate = basename($strFile, strrchr($strFile, '.'));
             if (!isset($arrTemplates[$strTemplate])) {
                 $arrTemplates[$strTemplate] = $strTemplate;
             }
         }
     }
     // Do not look for back end templates in theme folders (see #5379)
     if ($strPrefix == 'be_' || $strPrefix == 'mail_') {
         return $arrTemplates;
     }
     $arrDefault = $arrTemplates;
     $arrTemplates = array('safeTpl' => $arrDefault, 'unsafeTpl' => array());
     // Try to select the themes (see #5210)
     try {
         $objTheme = \ThemeModel::findAll(array('order' => 'name'));
     } catch (\Exception $e) {
         $objTheme = null;
     }
     // Add the theme templates
     if ($objTheme === null) {
         return $arrTemplates;
     }
     while ($objTheme->next()) {
         $strGroup = $objTheme->id == $intThemeId ? 'safeTpl' : 'unsafeTpl';
         if ($objTheme->templates == '') {
             continue;
         }
         $arrThemeTemplates = glob(TL_ROOT . '/' . $objTheme->templates . '/' . $strPrefix . '*');
         if (!is_array($arrThemeTemplates)) {
             continue;
         }
         foreach ($arrThemeTemplates as $strFile) {
             $strTemplate = basename($strFile, strrchr($strFile, '.'));
             if (!isset($arrTemplates[$strGroup][$strTemplate])) {
                 $arrTemplates[$strGroup][$strTemplate] = $strTemplate . ' (' . sprintf($GLOBALS['TL_LANG']['MSC']['templatesTheme'], $objTheme->name) . ')';
             } else {
                 $arrTemplates[$strGroup][$strTemplate] .= ' (' . sprintf($GLOBALS['TL_LANG']['MSC']['templatesTheme'], $objTheme->name) . ')';
             }
         }
     }
     return $arrTemplates;
 }
开发者ID:netzmacht,项目名称:contao-bootstrap,代码行数:53,代码来源:General.php

示例5: getTemplates

 /**
  * List template from all themes, show theme name
  * @param string
  * @param int
  * @return array
  */
 public static function getTemplates($strPrefix)
 {
     $arrTemplates = array();
     // Get the default templates
     foreach (\TemplateLoader::getPrefixedFiles($strPrefix) as $strTemplate) {
         $arrTemplates[$strTemplate] = $strTemplate;
     }
     $arrCustomized = glob(TL_ROOT . '/templates/' . $strPrefix . '*');
     // Add the customized templates
     if (is_array($arrCustomized)) {
         foreach ($arrCustomized as $strFile) {
             $strTemplate = basename($strFile, strrchr($strFile, '.'));
             if (!isset($arrTemplates[$strTemplate])) {
                 $arrTemplates[''][$strTemplate] = $strTemplate;
             }
         }
     }
     // Do not look for back end templates in theme folders (see #5379)
     if ($strPrefix == 'be_') {
         return $arrTemplates;
     }
     // Try to select the shop configs
     try {
         $objConfig = Config::findAll(array('order' => 'name'));
     } catch (\Exception $e) {
         $objConfig = null;
     }
     // Add the shop config templates
     if (null !== $objConfig) {
         while ($objConfig->next()) {
             if ($objConfig->templateGroup != '') {
                 $strFolder = sprintf($GLOBALS['TL_LANG']['MSC']['templatesConfig'], $objConfig->name);
                 $arrConfigTemplates = glob(TL_ROOT . '/' . $objConfig->templateGroup . '/' . $strPrefix . '*');
                 if (is_array($arrConfigTemplates)) {
                     foreach ($arrConfigTemplates as $strFile) {
                         $strTemplate = basename($strFile, strrchr($strFile, '.'));
                         if (!isset($arrTemplates[''][$strTemplate])) {
                             $arrTemplates[$strFolder][$strTemplate] = $strTemplate;
                         }
                     }
                 }
             }
         }
     }
     // Try to select the themes (see #5210)
     try {
         $objTheme = \ThemeModel::findAll(array('order' => 'name'));
     } catch (\Exception $e) {
         $objTheme = null;
     }
     // Add the theme templates
     if (null !== $objTheme) {
         while ($objTheme->next()) {
             if ($objTheme->templates != '') {
                 $strFolder = sprintf($GLOBALS['TL_LANG']['MSC']['templatesTheme'], $objTheme->name);
                 $arrThemeTemplates = glob(TL_ROOT . '/' . $objTheme->templates . '/' . $strPrefix . '*');
                 if (is_array($arrThemeTemplates)) {
                     foreach ($arrThemeTemplates as $strFile) {
                         $strTemplate = basename($strFile, strrchr($strFile, '.'));
                         if (!isset($arrTemplates[''][$strTemplate])) {
                             $arrTemplates[$strFolder][$strTemplate] = $strTemplate;
                         }
                     }
                 }
             }
         }
     }
     return $arrTemplates;
 }
开发者ID:Aziz-JH,项目名称:core,代码行数:75,代码来源:Backend.php


注:本文中的TemplateLoader::getPrefixedFiles方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。