如何在回声中回声(Twig)

How to echo within echo (Twig)

我在 Pyrocms 中使用 Twig 时遇到问题。我试图在 Twig 中的 shorthand if 语句中回显一个变量。

style="background-image: {{ (not link.bgcolor is empty ? 'linear-gradient(transparent, {{link.bgcolor}}),' : '')|raw }} url('{{link.image.url()}}');"

该语句是正确的,但显示的值实际上是 linear-gradient(transparent, {{link.bgcolor}}), {{link.bgcolor}} 未被 Twig 解析。我如何在另一个 {{}} 标签中使用 {{}} 标签?

你必须连接那个输出,

{{ not link.bgcolor is empty ? 'linear-gradient(transparent, '~link.bgcolor~'),' : '' }} 

您已经在 Twig-context,因为您是用 {{ 打开它的。所以你可以在不添加额外的 {{ ... }} 的情况下引用变量。您只需要离开字符串上下文并使用连接运算符 ~ 连接变量即可。它应该看起来像这样:

{{ (not link.bgcolor is empty ? 'linear-gradient(transparent, ' ~ link.bgcolor ~ '),' : '')|raw }}