我目前正在寻找定义树枝的'extends'标签的类。
背景:我使用Twig和FuelPHP来创建我的模板。然而,当我模块化功能(将它们从基本的app文件夹移动到模块/....)时,我遇到了一堵砖墙。
twig的Filesystem Loader选择提供名称的第一个模板,而不是关于模块上下文。
我想传递第二个参数并根据它设置模板搜索路径。
如果有人指出我正确的课程,我会很高兴
编辑 - 我尝试使用扩展程序的一个示例(这对包含内容也是如此):http://pastebin.com/Er2wJX9k
答案 0 :(得分:0)
您不是在寻找实现{% extends "some_path" %}
标记的类,您正在寻找解释"some_path"
部分的类来获取正确的树枝文件。
每次需要twig模板时,初始化环境时指定的Loader用于从字符串中获取twig文件的内容。 Twig带有2个内置加载器:Twig_Loader_FileSystem
用于从指定路径获取twig文件,当您提供twig代码而不是模板名称时使用Twig_Loader_String
。
您可以通过实施Twig Loader
和Twig_LoaderInterface
接口来开发自己的Twig_ExistsLoaderInterface
。只需查看位于twig/lib/Twig/Loader
目录中的现有文件,然后根据需要实现自己的Loader。例如,$name
参数将包含模板“path”(例如,Module:template.twig),并且在应用自定义逻辑之后,您可以返回正确的template.twig
文件的内容。 / p>