Я сделал свою собственную библиотеку компонентов (файлы ветки) для древесины. Включить пути в шаблоны веток проблематично, потому что моя библиотека имеет древовидную структуру и растет. Я хочу, чтобы {% include "map-header" %} включал любой файл из дерева файлов, и я не знаю некоторых деревьев, он должен можно отдать приоритет.
Теперь я использую функцию php для поиска файлов веток в подкаталогах и включаю их вот так {% include fn('block','map-header') %}
Моя текущая функция php:
function block($name){
$locations = array(
FRONTPATH.'app/blocks/site.blocks/',
FRONTPATH.'app/blocks/common.blocks/',
FRONTPATH.'app/blocks/ok.blocks/',
FRONTPATH.'app/blocks/base.blocks/'
);
foreach ($locations as $location) {
$path = realpath($location);
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)) as $filename)
{
$filename = str_replace(DIRECTORY_SEPARATOR,"/",$filename);
if(preg_match('/\/'.$name.'.twig/',$filename)){
return explode('/frontend/', $filename)[1];
}
}
}
возврат; }