问题标签 [twig-filter]
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 - 如何在不使用 jquery 的情况下获取 twig 中输入的值并在同一页面 twig 中存在的 url 中重用
我想获取输入名称 =“quantite”的值并在参数“quantite”的路径中重用。
php - 在自定义 Twig 过滤器中调用内置过滤器
设置自定义 Twig 过滤器时(请参阅https://symfony.com/doc/current/templating/twig_extension.html),如何在自定义函数中调用现有的 Twig 过滤器?
https://stackoverflow.com/a/41551944/1668200建议parent::dateFilter($timestamp, $format);
,但这不起作用:
试图调用类“Twig_Extension”的名为“dateFilter”的未定义方法。
twig - 如何截断文本并在 Twig 中使用原始过滤器
问题是原始 Twig 过滤器必须位于链的末尾才能正常工作并用相应的字符替换 HTML 实体。这会导致一个问题,因为我还需要使用 truncate 函数。截断正确发生,但在截断发生在 HTML 实体字符串之一的中间的情况下,原始函数无法删除该实体。
当前解决方案:
输入字符串:
当前解决方案实现了什么:
我想要达到的目标:
php - 使用默认过滤器时,Twig 包含 template_from_string 意外的“&”
我正在使用 Yii2 的 yiisoft/yii2-twig 扩展来从字符串呈现模板。
要渲染的字符串:
我正在使用以下 view.twig 进行渲染:
但是,当我尝试渲染此字符串时,twig 返回以下错误:
字符串模板:
我知道错误出现在默认过滤器中,因为我使用的是引号。我该如何解决这个问题?
twig - 无法多次迭代“过滤器”过滤器
我正在尝试将“过滤器”过滤器(自 Twig 2.10 起可用)的结果分配给一个变量,以便我可以多次使用它:
但不幸的是,如果我尝试多次迭代它(使用“长度”过滤器计数),我会收到错误
无法遍历已经关闭的生成器
在第一个之后。错误很明显,“过滤器”实际上返回了一个生成器(我相信它不能被迭代多次),而不是一个数组或集合。
问题是它无法编写以下代码,例如:
此代码将在 for 循环中触发上述错误。
我可以重新过滤原始集合,而不是使用变量,但如果它包含很多元素,这似乎不是最佳选择。我也想过写自己的过滤器,把原来的过滤器包起来,但如果我不必这样做,我会活得更好。
有什么更好的办法吗?这是否应该被视为 Twig 中的错误(在这种情况下,我将在他们的回购中打开一个问题)?
请注意,https://github.com/dpolac/twig-lambda没有表现出这种奇怪的行为,但与 Twig 2.10 不兼容。
谢谢
twig - 原始过滤器仍在源中将 & 转换为 &
我正在尝试在 Twig 上使用原始过滤器,但它仍在源中转换&
为&
。
所以它输出’
而不是’
编辑:意识到我应该说“占有”而不是“复数”:)
php - 什么更有效:用树枝过滤器填充变量或将它们传递给控制器?
我最近一直在使用自己定制的树枝过滤器。我也一直在寻找提高表现的方法。
我很难区分何时应该在服务中构建函数,然后由控制器使用,或者是否应该将其改为树枝过滤器。我想知道哪个执行得更快,或者是否有任何区别?为了澄清我的问题,我想展示如何用两者填充可变照片。
树枝模板将如下所示。它只会用照片数组制作图像元素。
/content/photos.html.twig
方法 1:在控制器中传递照片变量。控制器可能会使用名为 PhotoService 的服务并调用 getReadMore 函数,同时将其传递给 twig 模板:
方法2:改用自定义树枝过滤器:
在 twig 模板中,photos 变量将像这样填充:
两种方法有什么区别吗?
php - 在循环内时出现 Twig 扩展功能错误
我有这样的树枝代码:
一切正常,但是当我只有 1 条 faq_categories 记录时,它给了我这样的错误:
这是由这行代码引起的:
{% 设置常见问题 = getFaqs( faq_category.id ) %}
似乎 faq_category.id 变为空。我不知道是什么导致这种情况发生是因为批处理过滤器?或者我在这里做了什么?
string - 我可以将 Twig 变量标记为与捕获的文本块一样安全吗?
这是一个Twig Fiddle。在那里你会注意到这个包含文件:
而这个主文件,在将文本变量传递给包含文件之前多次尝试将其标记为安全:
以下是渲染此模板的结果:
第一次尝试建立了不需要的 HTML 转义行为。策略 2 和 3 尝试使用|raw
过滤器来避免转义,但都失败了。策略 4,使用set
标签来捕获一大块文本,效果很好。
raw 过滤器将该值标记为“安全”,这意味着在启用了自动转义的环境中,如果 raw 是应用于它的最后一个过滤器,则不会转义此变量:
如果启用自动输出转义,Twig 只会在捕获文本块时认为内容是安全的。
除非我遗漏了一些东西,否则这些似乎是“安全”的两种不同定义,set
标签下提到的一个意思是super-extra-safe。
有没有办法将包含超安全HTML 的字符串文字传递到模板中,而不会用难看的块捕获set
块污染我的文件?