繁体   English   中英

我将如何 go 扩展木材以能够使用句柄作为包含中的参考?

[英]How would I go extending timber to be able to use handles as references in includes?

我们使用带有 twig 引擎的 fractal.js 来制作网站原型。 Fractal.js 带来了一个方便的功能,可以在包含中使用句柄。

所以不用写{% include 'templates/components/teaser/basicTeaser.twig' %} ,你可以写{% include '@basicteaser' %} 请参阅: https://fractal.build/guide/core-concepts/naming.html#referencing-other-items

当然,这依赖于唯一的组件名称,无论如何我很高兴拥有这些名称。

任何人都可以指出如何扩展木材或 twig 以使用此类手柄的正确方向吗?

非常感谢!

Twig 已经提供了从一系列目录而不是一个目录加载模板的选项。

$loader = new \Twig\Loader\FilesystemLoader([$templateDir1, $templateDir2]);

另外,在将加载器传递给环境对象之前,您可以为自定义命名空间添加路径,即:

$loader->addPath($templateDir, 'admin'); 

然后你可以像这样使用你的命名空间:

$twig->render('@admin/index.html', []);

https://twig.symfony.com/doc/3.x/api.html#built-in-loaders

我知道这是一个老问题,这可能与 OP 不再相关,但我们需要同样的东西并开发了一个 WordPress 插件来桥接 Timber + Fractal。 您可以将 Fractal 组件导出到components-map.json文件,然后加载程序将读取 map 并将这些组件名称转换为文件路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM