2013-06-03 75 views
0

我想要做的是包含/刪除一段基於if語句的標記,使用樹枝模板。這看起來很簡單,但我很新的PHP作爲一個整體(和小枝),我不知道爲什麼,這是不工作...包括/不包括基於數組內的值的標記

{% set regions = ["en", "en-euw", "de", "es", "fr", "it", "en-eune", "pl", "ro", "el", "pt-br", "tr",  "ru", "mx" ] %} 
{% if {{ locale.url_code }} is iterable %} 
<p>lol bro</p> 
{% endif %} 

首先,{{locale.url_code}}將打印數組中的一種語言代碼,但是數組中列出的語言代碼數量要多得多。

基本上我試圖設置一個包含適當的語言/地區代碼的數組,如果{{locale.url_code}}在「regions」數組中 - 在if語句中顯示標記。我不完全相信我會得到iterable的工作方式......但我認爲這將是完成這項工作的關鍵。我也不是100%確定我正確設置陣列...

任何幫助或方向是非常感謝。

謝謝!

+0

根據你連接我們的文檔,'iterable'是任何一個數組或者其他可以遍歷的東西(你可以像鏈表一樣遍歷)。 – BLaZuRE

回答

2

上面的答案是一個很好的起點,但我無法讓in_array在樹枝模板中工作。幸運的是,在掃描了一些樹枝文檔後,我看到了關於containment operators的規則,這些規則允許我以奇怪的ruby-like語法完成我需要做的事情。請參閱下面的工作代碼:

{% set regions = ['en', 'en-euw', 'de', 'es', 'fr', 'it', 'en-eune', 'pl', 'ro', 'el', 'pt-br', 'tr', 'ru', 'mx' ] %} 
{% if locale.url_code in regions %} 
<p>lol bro</p> 
{% endif %} 

希望這有助於任何人尋找一種方法來做到這一點。

+0

哦,我的,我怎麼忘記'in'? )的確,這是更清潔的方式。 – raina77ow