2015-08-23 43 views
1
<a class="menu-item" href="{{(haveSubMenu == 'yes')?'#':(item.url|e ~ (item.hash ? item.hash|e : ''))}}"></a> 

我想做的事很簡單,如果菜單項有子菜單,那麼它的href應#,如果沒有,那麼獲取其URL。但是上面的代碼不起作用,因爲當~將其操作數轉換爲字符串時,它會將所有&item.url)轉換爲&amp;,這將打破鏈接。樹枝:連接兩個字符串的三元HTML屬性中

那麼寫這個的正確方法是什麼?

+0

你缺少一個雙'='在第一,如果在'haveSubMenu' – Matteo

+0

毛刺,感謝您指出 – shenkwen

回答

0

嘗試使用autoescape tag禁用所有代碼的自動渲染。

所以用這個代碼:

{% autoescape false %} 
    Everything will be outputted as is in this block 
<a class="menu-item" href="{{(haveSubMenu == 'yes')?'#':(item.url|e ~ (item.hash ? item.hash : ''))}}"></a> 
{% endautoescape %} 

見工作(並運行與示例代碼)在this twigfiddle URL

如果這不起作用,您可以隨意指定某些測試數據。

希望這有助於