нашел способ использовать вот так
{% extends "@theme/template.twig" %}
{% include "@theme/common/file.twig" %}
для этого надо добавить пути в загрузчик твига
в файл library/template/twig.php в функцию render
$loader = new \Twig_Loader_Filesystem(DIR_TEMPLATE); $loader->addPath(DIR_TEMPLATE.'mytheme/template','theme');
Вся загвоздка остается в передаче имени каталога темы (mytheme), я достаю через конфиг, но для этого надо передать registry в конструкторе, с соответствующими переделками везде где надо,
$loader->addPath(DIR_TEMPLATE.$this->registry->get('config')->get('theme_default_directory').'/template','theme');
еще вариант, попробовал прямо на ходу
$loader = new \Twig_Loader_Filesystem(DIR_TEMPLATE);
if(isset($this->data['theme_default_directory'])){
$loader->addPath(DIR_TEMPLATE.$this->data['theme_default_directory'].'/template','theme');
}
но в файл system/engine/loader.php функция view в самом начале добавил
$data['theme_default_directory'] = $this->registry->get('config')->get('theme_default_directory');
в данном случае registry передавать не надо, в лоадере он уже есть