问题标签 [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.

0 投票
2 回答
1738 浏览

twig - Silex 中 Twig 的自定义过滤器

我需要在 Silex 框架中为 Twig 添加自定义过滤器。例如,我想将此函数应用于某个变量:

在 twig-template 中执行以下操作:

阅读http://twig.sensiolabs.org/doc/advanced.html后,我创建了“Project_Twig_Extension.php”:

但我无法理解我需要把这个文件放在哪里,以及如何在 Silex 的“index.php”中注册这个过滤器。

你能给我一步一步的指导吗?方法,在Twig addFilter using Silex 中描述?不工作。

0 投票
1 回答
13854 浏览

php - 树枝过滤多个参数

我正在尝试创建一个可以处理 2 个参数的特定树枝过滤器。

并将过滤器添加到渲染中:

现在在模板中请求过滤器:

但是,我收到该函数不存在的错误。很奇怪......因为它确实存在并且被包括在内。就像我的其他 15 个过滤器一样。

我是否以错误的方式请求过滤器?(大概是...)

0 投票
1 回答
553 浏览

php - 如何在 Symfony3 中获取 TWIG 自定义过滤器参数?

我只是尝试根据示例制作一个简单的 TWIG 过滤器

src/BlogBu​​ndle/Services/TwigExtension.php

服务.yml

并在一些 template.twig 中使用它

正确调用回调函数(agoFiler)并显示其输出,但我无法获取过滤器参数。在上面的示例中,我总是返回 NULL,尽管 comment.date 肯定是一个日期(默认 TWIG 的日期过滤器可以正常工作)。如何在 agoFilter 函数中获取 comment.date?

更新:按预期返回,{{ 5|ago }}返回,但仍然返回,尽管返回正确的日期。integer{{ [5]|ago }}array{{ comment.date|ago }}{{ comment.getDate()|ago }}NULL{{ comment.date|date('d.m.Y') }}

0 投票
3 回答
6316 浏览

twig - 如何将标量树枝过滤器映射到数组

我有一个简单的浮点数组。我需要将其显示为逗号分隔的字符串。

由于过于微不足道的准确性,因此是不好的解决方案。

不好,因为末尾有多余的逗号。

我想做这样的事情:

但我还没有找到过滤器map或类似过滤器的树枝。Аnd 我不知道如何实现这样的过滤器。

0 投票
0 回答
77 浏览

twig - 在树枝中使用服务而不创建树枝扩展

我有一个服务类:

/src/App/DesktopBundle/Resources/config/services.yml我有:

/app/config/config.yml我有:

在模板中我尝试:

但我有错误:Variable "mediaService" does not exist in。你能帮我吗?先感谢您。

0 投票
0 回答
802 浏览

php - 树枝 {% raw %} 块内的翻译过滤器

我有一个 html 模板,其中包含一些 handlebarsjs 代码,我将这些代码包含在我的页面中以呈现一些产品弹出窗口。问题是这些模板有点复杂,我也需要翻译它们上的标签,有没有办法将异常通知给树枝解析器?这样,即使代码在raw块内,它还是会被渲染?显然,如果我使用翻译标签,它就不起作用{{ 'translations.project.template.price'|trans }}

例如: index.html.twig:

product-template.html.twig:


目前我正在通过将翻译传递给车把呈现的对象来解决它,所以我有这样的东西:

index.html.twig:

模板.渲染(数据); product-template.html.twig:

这种方法有效,但它显然是矫枉过正,我有模板,我必须在其中传递超过 12 个字符串,这样看起来对我来说效率不高。

有没有办法直接在树枝中解决这个问题?

0 投票
4 回答
10411 浏览

php - Twig - 如何随机化数组中的项目并循环它们?

如何随机化数组中的项目并循环它们?

我收到此错误:

第 30 行“partials/content.twig”中的未知“shuffle”过滤器。

如果我使用random()

什么都没有返回。

有任何想法吗?

笔记:

我不想使用 PHP 顺便说一句。

0 投票
1 回答
1264 浏览

symfony - Twig:如何将过滤器应用于翻译字符串

可以说我有这个:

打印这个字符串

这是一个带有一些<i>html</i>标签的字符串。

我想应用 Twig 过滤器striptags来获得这个:

这是一个带有一些 html 标签的字符串。

如您所见,我已经“删除”了斜体标签。

所以我需要一种方法来做类似的事情:

显然这不是对翻译后的字符串应用过滤器的正确方法,那么,我该怎么做呢?

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 回答
862 浏览

twig - 如何在多行显示的文本中添加“阅读更多”,但只有一定数量的带有树枝的行

我在 twig 中使用以下函数来显示保存在数据库中的新闻项目描述的部分内容:

使用 html 元素中的这个函数p,我得到字符不超过 300 的文本,然后我添加了一个元素“阅读更多” a

此代码适用于包含超过 300 个字符的段落中的文本,但例如,如果我有另一个带有几个“p”元素的文本,然后在 twig 中更改为
元素,我需要它只显示几行,因为我有显示它的容器的最大高度,我不知道该怎么做,因为它会显示所有换行符,直到它不超过 300 个字符。

为了更清楚一点,我显示了结果的图像: 在此处输入图像描述

我需要的是,在 Title2 有很多换行符的情况下,只需显示一些并在之前添加“阅读更多”,以便 div 的高度等于前一个(显示示例我删除了 max-Height和溢出:隐藏)。

我怎么能得到那个?

我提前向您的帮助致意。