2017-07-17 39 views
0

{{ (vendorData.description) ? vendorData.description : "<em>No Description Entered</em>"|raw }}对文字字符串特威格RAW过滤器不工作

当值不存在我看到: <em>No Description Entered</em> 在Web浏览器的屏幕上逐字打印。

生应该强制字符是文字​​,而不是&gt; &lt;

为什么这不是在“创建的字符串”工作,但如果我去做了一个字符串变量是否可行?

回答

1

您需要将括号整个语句,像这样:

{{ ((vendorData) 
    ? vendorData 
    : "<em>No Description Entered</em>")|raw }} 

这里是一个工作twigfiddle显示它的工作: https://twigfiddle.com/fs2oc2

您可以使用twigfiddle与您的代码进行试验。


在评论部分反馈:

这里是一个树枝例子来说明你需要什么:https://twigfiddle.com/hjyslr

+0

谢谢...我只是觉得很奇怪,他们会要求您申请生的最终的结果,而不是结果的具体部分......我的意思是如果VendorData通常不会有任何HTML,并且我不想在这种情况下“生”? – SublymeRick

+0

这并不奇怪。 'filter's'只有更高的[precendence](https://twig.symfony.com/doc/2.x/templates.html#expressions) – DarkBee

+0

嗨@SublymeRick - 我添加了另一个Twigfiddle来展示你如何实现你需要在Twig中使用if语句。 –