0
私は木材用の独自のライブラリ(小枝ファイル)を作成しました。私のライブラリにツリー構造があり、成長しているので、ツリーテンプレートからパスをインクルードするのは問題です。{%include "map-header"%}ファイルツリーのファイルをすべてインクルードする方法が必要です。優先権を与えることが可能である。テンプレートフォルダのサブディレクトリ内の再帰的な小枝テンプレートファイル
今はsubtirectoriesに小枝ファイルを検索するために、PHPの関数を使用し、そのようにそれらを含める
私の現在のPHP関数{%(「ブロック」、「マップ・ヘッダ」)%をfnを含ま}
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];
}
}
}
リターン;私の解決策ザッツ }
あなたはすでに[テンプレートの場所](https://timber.github.io/docs/guides/template-locations/)ガイドを試してみましたか?私にとっては、これがまさにあなたが探しているものであるようです。または私は何かを逃していますか? – Gchtr
私はその能力について知っていますが、もしテンプレートが200〜300の異なるディレクトリを持っているのであれば、Template Locationsを使うのはいい考えですか? – ijakparov