问题标签 [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.
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?
php - 在 Twig 中获取当前时区
有什么方法可以在 Twig 模板中获取当前时区,而不是从 cronroller 传递。此链接提供特定时区的日期。
twig - 如何在 Slim3 Twig 中获取路线链接?
我这样定义了我的路线:
我有兴趣按名称获取路线链接,例如:{% get_route('about.page') %}
我怎样才能做到这一点?
php - 如何在 PHP 中注册一个树枝扩展
我目前正在使用独立的 twig(不使用 symphony 或 composer),并且在文档中没有找到关于如何在 php 中注册扩展的文档。
我的 index.php 文件看起来像这样
我的扩展类看起来像这样(ext.php)
我收到以下错误:
致命错误:在第 12 行的 C:\xampp\htdocs\Twig\Extension.php 中找不到接口“Twig_ExtensionInterface”
我发现了很多用 yaml 设置它的文章,但我没有使用 yaml。
我确定我没有正确注册或没有正确设置。
php - symfony - 在树枝扩展中调用控制器动作
我正在尝试从树枝扩展中调用控制器。我不想将控制器称为服务,因为我会失去所有花哨的快捷方式。
我想要实现的是在你做的时候像树枝一样调用控制器:
我查看了“渲染”的源代码并试图找到“控制器”树枝的功能,但我不明白该怎么做。从现在开始,我实现了一个令人不满意但功能强大的代码:
在我的树枝扩展中:
在CmsExtension:cmsRenderHook.html.twig
模板中:
我认为(可能是错误的)在没有模板步骤的情况下调用它会更快。
编辑:我终于成功编写了这个代码:
(我在 twig 的缓存中做了一个 grep 并复制了它的编译版本)。我唯一关心的是参考Symfony\Bridge\Twig\Extension\HttpKernelExtension
,我宁愿让树枝处理这个选择,但我不知道如何。
我有两个问题:
- 你认为这Symfony\Bridge\Twig\Extension\HttpKernelExtension
足够稳定来明确引用它吗?- 如果不是,你会怎么做让树枝处理它?
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
文件:
php - 如何在翻译字符串中包含内联 br 标记
您好,我们在我们的网站中使用 Twig 模板系统以及 twig i18n 扩展来处理我们的语言翻译。
根据文档,我们所有的模板字符串都包装在trans
要由扩展翻译的块中,如下所示:
问题是在我们的一些模板字符串中,我们有<br>
用于文本格式的内联标签。在这些<br>
标签存在的所有情况下,字符串不会翻译并保留为英文。有没有办法“转义”块中的<br>
标签trans
,以便正确读取和翻译所有字符串?
datetime - Twig:具有本地化日期扩展名的日期格式
我有:
其中event.date = '2016-12-30'
,MySQL 日期字符串。
当日期本地化时,输出为'30 December 2017, Friday'
. 我不明白,为什么年份改为2017年?为什么会这样?
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 扩展停止转义路径
php - 如何为自定义 Twig 扩展使用缓存
我正在Symfony
使用 1.31 开发 2.8 项目Twig
,我想Twig
通过创建扩展来添加自定义标签:
现在我可以customtag
在我的模板中使用:
这一切都很好,我可以some content
在扩展中进行更改。但是,这是在渲染模板/加载页面时完成的。
由于some content
(以及由扩展创建的更新结果)是静态的,因此可以轻松缓存。
如何在构建缓存时而不是在每次页面加载时更新扩展程序/标签以仅运行一次?