/** * Определяет тип блока * * @param string $sName - Название блока * @param string|null $sDir - Путь до блока (определяется само для плагинов, если передать параметр 'plugin'=>'myplugin') * @return string ('block','template','undefined') * @throws Exception */ protected function DefineTypeBlock($sName, $sDir = null) { if ($sDir) { // * Если найден шаблон вида block.name.tpl то считаем что тип 'block' if (is_file(ACE::FilePath($sDir . '/blocks/block.' . $sName . '.tpl'))) { return 'block'; } // * Если найден шаблон по имени блока то считаем его простым шаблоном if (is_file(ACE::FilePath($sDir . '/' . $sName))) { return 'template'; } } return parent::DefineTypeBlock($sName, $sDir); }
/** * Определяет тип блока * * @param string $sName - Название блока * @param string|null $sDir - Путь до блока (определяется само для плагинов, если передать параметр 'plugin'=>'myplugin') * @return string ('block','template','undefined') * @throws Exception */ protected function DefineTypeBlock($sName, $sDir = null) { if ($sDir) { // * Если найден шаблон вида block.name.tpl то считаем что тип 'block' if (is_file(ACE::FilePath($sDir . '/blocks/block.' . $sName . '.tpl'))) { return 'block'; } // * Если найден шаблон по имени блока то считаем его простым шаблоном if (is_file(ACE::FilePath($sDir . '/' . $sName))) { return 'template'; } } /* try { $xResult = parent::DefineTypeBlock($sName, $sDir); } catch (Exception $e) { // если ищется шаблон плагина, и его скин не default, и он не найден, то делается попытка найти шаблон в default if (substr($e->getMessage(), 0, 22) == 'Can not find the block' AND ($s = ACE::InPath($sDir, ACE::GetRootDir() . '/plugins/*'))) { $n = strrpos($sDir, '/', -2); $sSkin = trim(substr($sDir, $n), '/'); if ($sSkin !== 'default') $sDir = substr($sDir, 0, $n) . '/default/'; $xResult = parent::DefineTypeBlock($sName, $sDir); } } */ $xResult = parent::DefineTypeBlock($sName, $sDir); return $xResult; }