Skip to content

Commit

Permalink
Merge pull request #6 from mlavrinenko/master
Browse files Browse the repository at this point in the history
Багфиксы
  • Loading branch information
mlavrinenko committed Feb 1, 2016
2 parents 6a93471 + 710071e commit 6ff0dc4
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 30 deletions.
30 changes: 14 additions & 16 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,22 +33,20 @@ vendor:component_name[:template[:specific_template_file]]
'value' => array(
'tools' => array(
'twig' => array(
array(
// Режим отладки выключен
'debug' => false,

//Кодировка соответствует кодировке продукта
'charset' => SITE_CHARSET,

//кеш хранится в уникальной директории
'cache' => $_SERVER['DOCUMENT_ROOT'] . '/bitrix/cache/maximaster/tools.twig',

//Автообновление включается только в момент очистки кеша
'auto_reload' => isset( $_GET[ 'clear_cache' ] ) && strtoupper($_GET[ 'clear_cache' ]) == 'Y',

//Автоэскейп отключен, т.к. битрикс по-умолчанию его сам делает
'autoescape' => false,
)
// Режим отладки выключен
'debug' => false,

//Кодировка соответствует кодировке продукта
'charset' => SITE_CHARSET,

//кеш хранится в уникальной директории
'cache' => $_SERVER['DOCUMENT_ROOT'] . '/bitrix/cache/maximaster/tools.twig',

//Автообновление включается только в момент очистки кеша
'auto_reload' => isset( $_GET[ 'clear_cache' ] ) && strtoupper($_GET[ 'clear_cache' ]) == 'Y',

//Автоэскейп отключен, т.к. битрикс по-умолчанию его сам делает
'autoescape' => false,
)
)
)
Expand Down
41 changes: 27 additions & 14 deletions src/Maximaster/Tools/Twig/BitrixLoader.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,22 @@ class BitrixLoader extends \Twig_Loader_Filesystem implements \Twig_LoaderInterf
*/
function getSource($name)
{
/*if ($name == SITE_TEMPLATE_ID)
{
return $this->siteTemplate();
}*/
return file_get_contents($this->getSourcePath($name));
}

$realFileName = $_SERVER[ 'DOCUMENT_ROOT' ] . $name;
if (file_exists($realFileName))
{
return file_get_contents($realFileName);
}
function getSourcePath($name)
{
/*if ($name == SITE_TEMPLATE_ID)
{
return $this->siteTemplate();
}*/

return $this->componentTemplate($name);
}
$realFileName = $_SERVER[ 'DOCUMENT_ROOT' ] . $name;
if (file_exists($realFileName))
return $realFileName;

return $this->getComponentTemplatePath($name);
}

function getCacheKey($name)
{
Expand All @@ -40,13 +43,23 @@ function getCacheKey($name)
/**
* Не использовать в продакшене!!
* Метод используется только в режиме разработки или при использовании опции auto_reload = true
* @param string $name Путь к шаблону
* @param int $time Время изменения закешированного шаблона
* @return bool Актуален ли закешированный шаблон
*/
function isFresh($name, $time)
{
return filemtime($this->getSource($name)) <= $time;
return filemtime($this->getSourcePath($name)) <= $time;
}

private function componentTemplate($name)
/**
* По Битрикс-имени шаблона возвращает путь к его файлу
*
* @param string $name
* @return string
* @throws \Twig_Error_Loader
*/
private function getComponentTemplatePath($name)
{
list($namespace, $component, $template, $file) = explode(':', $name);

Expand Down Expand Up @@ -74,7 +87,7 @@ private function componentTemplate($name)
throw new \Twig_Error_Loader("Не удалось найти шаблон '{$name}'");
}

return file_get_contents($templatePath);
return $templatePath;
}

/*
Expand Down

0 comments on commit 6ff0dc4

Please sign in to comment.