2017-07-17 76 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語句。 –