问题标签 [twig-extension]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
223 浏览

twig - can you set is_safe for a global in a twig extension

Twigs documentation for extensions show that it is possible to use "is_safe" with both simple_filters and and simple_functions, to prevent escaping of html tags in returned values, but I can see any examples of using is_safe with globals. Is there a way to do this?

0 投票
1 回答
2618 浏览

php - 在 Twig 中获取当前时区

有什么方法可以在 Twig 模板中获取当前时区,而不是从 cronroller 传递。此链接提供特定时区的日期。

0 投票
2 回答
3380 浏览

twig - 如何在 Slim3 Twig 中获取路线链接?

我这样定义了我的路线:

我有兴趣按名称获取路线链接,例如:{% get_route('about.page') %}

我怎样才能做到这一点?

0 投票
1 回答
1029 浏览

php - 如何在 PHP 中注册一个树枝扩展

我目前正在使用独立的 twig(不使用 symphony 或 composer),并且在文档中没有找到关于如何在 php 中注册扩展的文档。

我的 index.php 文件看起来像这样

我的扩展类看起来像这样(ext.php)

我收到以下错误:

致命错误:在第 12 行的 C:\xampp\htdocs\Twig\Extension.php 中找不到接口“Twig_ExtensionInterface”

我发现了很多用 yaml 设置它的文章,但我没有使用 yaml。

我确定我没有正确注册或没有正确设置。

0 投票
1 回答
442 浏览

php - symfony - 在树枝扩展中调用控制器动作

我正在尝试从树枝扩展中调用控制器。我不想将控制器称为服务,因为我会失去所有花哨的快捷方式。

我想要实现的是在你做的时候像树枝一样调用控制器:

我查看了“渲染”的源代码并试图找到“控制器”树枝的功能,但我不明白该怎么做。从现在开始,我实现了一个令人不满意但功能强大的代码:

在我的树枝扩展中:

CmsExtension:cmsRenderHook.html.twig模板中:

我认为(可能是错误的)在没有模板步骤的情况下调用它会更快。

编辑:我终于成功编写了这个代码:

(我在 twig 的缓存中做了一个 grep 并复制了它的编译版本)。我唯一关心的是参考Symfony\Bridge\Twig\Extension\HttpKernelExtension,我宁愿让树枝处理这个选择,但我不知道如何。

我有两个问题: - 你认为这Symfony\Bridge\Twig\Extension\HttpKernelExtension足够稳定来明确引用它吗?- 如果不是,你会怎么做让树枝处理它?

0 投票
2 回答
517 浏览

twig - Symfony3:启用 aptoma twig-markdown 扩展

如何启用aptoma twig-markdown 扩展?我已经使用它安装了它,composer但是当我{% markdown %}在我的树枝文件中使用它时,我收到一条错误消息:

意外的“markdown”标签(期望在第 8 行附近定义的“block”标签的结束标签)。

我查看了 symfony 文档,但找不到解决方案。

编辑:

我尝试添加以下代码,services.yml但又遇到了另一个错误:

类型错误:传递给 Aptoma\Twig\Extension\MarkdownExtension::__construct() 的参数 1 必须是 Aptoma\Twig\Extension\MarkdownEngineInterface 的实例,没有给出 [...]

根据要求我的.twig文件:

0 投票
0 回答
188 浏览

php - 如何在翻译字符串中包含内联 br 标记

您好,我们在我们的网站中使用 Twig 模板系统以及 twig i18n 扩展来处理我们的语言翻译。

根据文档,我们所有的模板字符串都包装在trans要由扩展翻译的块中,如下所示:

问题是在我们的一些模板字符串中,我们有<br>用于文本格式的内联标签。在这些<br>标签存在的所有情况下,字符串不会翻译并保留为英文。有没有办法“转义”块中的<br>标签trans,以便正确读取和翻译所有字符串?

0 投票
2 回答
2261 浏览

datetime - Twig:具有本地化日期扩展名的日期格式

我有:

其中event.date = '2016-12-30',MySQL 日期字符串。

当日期本地化时,输出为'30 December 2017, Friday'. 我不明白,为什么年份改为2017年?为什么会这样?

0 投票
2 回答
1005 浏览

twig - 如何不在 Twig 模板中转义 path()

我的目标是渲染一个 Twig 模板并通过 API 将生成的 HTML 发送到 Mailchimp 以发送出去。

我目前的流程:

1)创建一个 Twig-Template email.html.twig

2)$html = $this->renderView('MyBundle:email.html.twig');

3)sendHtmlViaApi($html);

问题: 我需要一个包含 Mailchimp 合并标记字符串的 URL,它必须是*|VARIABLE|*. 我用{{ path('my_route', {variable : '*|VARIABLE|*'}) }}. 期望的结果:/myroute/*|VARIABLE|*。我得到的结果:/myroute/*%7CVARIABLE%7C*

已经尝试和失败的方法:

1)使用{% autoescape %}

2)|raw

3) 带有来自 Symfony2 Twig 的新 url_decode 过滤器的 Twig 扩展停止转义路径

0 投票
1 回答
1283 浏览

php - 如何为自定义 Twig 扩展使用缓存

我正在Symfony使用 1.31 开发 2.8 项目Twig,我想Twig通过创建扩展来添加自定义标签:

现在我可以customtag在我的模板中使用:

这一切都很好,我可以some content在扩展中进行更改。但是,这是在渲染模板/加载页面时完成的。

由于some content(以及由扩展创建的更新结果)是静态的,因此可以轻松缓存。

如何在构建缓存时而不是在每次页面加载时更新扩展程序/标签以仅运行一次?