特定のファイルが存在するかどうかに応じて、さまざまなテンプレートをロードしたいと思います。たとえば、デフォルトではベース フォルダーからテンプレートを読み込みますが、特定のフォルダーが存在する場合は代わりにそのテンプレートを読み込みます。自動ロード機能が提供するものに似た機能をいくつか想像しています。小枝はこの機能を提供しますか?
1 に答える
1
あなたがどちらかをしたいかによって異なります
- ディレクトリ A またはディレクトリ B (存在する場合) からテンプレートを読み込みますが、両方ではありません
- ディレクトリ B が存在する場合はロードし、ディレクトリ A よりも優先するようにします
例
// Load both directories
$loader = new \Twig_Loader_Filesystem($baseTemplateDir);
if (is_dir($secondTemplateDir)) {
$loader->prependPath($secondTemplateDir);
}
// Load one directory
$loader = new \Twig_Loader_Filesystem(
is_dir($secondTemplateDir) ? $secondTemplateDir : $baseTemplateDir
);
あるいは
// Load both directories
try {
$loader = new \Twig_Loader_Filesystem(array(
$secondTemplateDir,
$baseTemplateDir
));
} catch (\Twig_Error_Loader $e) {
$loader = new \Twig_Loader_Filesystem($baseTemplateDir);
}
// Load one directory
try {
$loader = new \Twig_Loader_Filesystem($secondTemplateDir);
} catch (\Twig_Error_Loader $e) {
$loader = new \Twig_Loader_Filesystem($baseTemplateDir);
}
于 2013-11-04T22:46:11.117 に答える