Example #1
0
 public function Display($sTemplate)
 {
     // ajax-запросы нас не интересуют ?
     if (!$this->sResponseAjax) {
         if ($sTemplate) {
             $sTemplate = ACE::FilePath($this->Plugin_GetDelegate('template', $sTemplate), '/');
             if (!$this->TemplateExists($sTemplate)) {
                 if (dirname($sTemplate) == '.') {
                     if (strpos($sClass = Router::GetActionClass(), 'Plugin') === 0) {
                         $sTemplate = HelperPlugin::GetPluginSkinPath($sClass) . 'actions/Action' . ucfirst(Router::GetAction()) . '/' . $sTemplate;
                     }
                 }
                 $sTemplate = $this->_getRealTeplate($sTemplate);
             }
             $sPathRoot = ACE::FilePath(Config::Get('path.root.server'), '/');
             if ($this->bAddPluginDirs and strpos($sTemplate, $sPathRoot) === 0 and is_file($sTemplate)) {
                 // добавляем пути к шаблонам
                 $sPath = dirname($sTemplate);
                 if ($sPath and $sPath != '.') {
                     $this->AddTemplateDir($sPath, true);
                     if (basename(dirname($sPath)) == 'actions') {
                         $this->AddTemplateDir(dirname(dirname($sPath)), true);
                     }
                 }
             }
         }
     }
     $this->_initTplHooks();
     return parent::Display($sTemplate);
 }
Example #2
0
 /**
  * Получить каталог с шаблонами экшена(совпадает с именем класса)
  * @see Router::GetActionClass
  *
  * @return string
  */
 public function GetActionClass()
 {
     return Router::GetActionClass();
 }
Example #3
0
 /**
  * Получить путь (полное имя файла) к шаблону акшена
  *
  * @param   string  $sFile
  * @return  string
  */
 public static function GetTemplateActionPath($sFile = '')
 {
     $aClassElements = self::ClassNameExplode(Router::GetActionClass());
     if (isset($aClassElements['Action'])) {
         $sAction = $aClassElements['Action'];
     } else {
         $sAction = Router::GetAction();
     }
     return self::GetTemplatePath('actions/Action' . ucfirst($sAction) . '/' . $sFile);
 }