2013-08-09 5 views
25

में अल्पविराम से अलग सूची सूची के प्रत्येक तत्व के बाद अल्पविराम को जोड़ने के लिए सबसे छोटा (और स्पष्ट) तरीका क्या है?ट्विग

{% for role in user.roles %} 
    {{ role.name }}, 
{% endfor %} 

यह उदाहरण अंतिम पंक्ति सहित सभी लाइनों के बाद कॉमा जोड़ देगा।

+0

तुम्हारा मतलब क्या आखिरी एक को छोड़कर या अंतिम को छोड़कर अल्पविराम? – vee

+0

मैं अल्पविराम से अलग सूची चाहता हूं, इसलिए अंतिम को छोड़कर। – DmitryR

उत्तर

65

सबसे कम के बारे में पता नहीं है लेकिन यह स्पष्ट हो सकता है। पिछले एक को छोड़कर पाश में सभी लाइनों के बाद अल्पविराम जोड़ने के लिए निम्नलिखित का प्रयास करें:

{% for role in user.roles %} 
    {{ role.name }} 
    {% if not loop.last %},{% endif %} 
{% endfor %} 
+0

धन्यवाद, अगर मुझे पहले पता था ... –

+0

यह '{%% लूप के लिए काम कर रहा है यदि स्टेटमेंट%}' – maches

+7

शायद इसे साफ़ करने के लिए '{{not loop.last' के साथ थोड़ा सा नहीं है? ','}} ' – Roeland

16

यह Symfony 2.3.x के साथ काम करता है, लेकिन हर 2.x संस्करण के साथ काम करना चाहिए:

{{ user.roles|join(', ') }} 
+4

यह काम नहीं करेगा: user.roles ऑब्जेक्ट्स ** का सरणी ** है। – DmitryR

+2

एक सरणी – c33s

+1

के लिए बिल्कुल सही काम करता है ओह सही, यह अक्टूबर सीएमएस के लिए ट्विग में काम करता है। – igneosaur