2012-08-24 20 views
6

Bất cứ ai biết một cách sạch để làm điều này trong cành/Uống một lân:vòng lặp for truy cập với cành hoặc Uống một lân

{% for(i = 0; i < 100; i++) %} 
    blah.... 
{% endfor %} 
+0

(http://twig.sensiolabs.org/doc/tags/for.html) – moonwave99

+0

Thành thật mà nói tôi cho rằng Uống một lân để là một cổng hoàn chỉnh của Twig - rõ ràng là không. Tôi đang sử dụng Swig và chỉ xem xét những tài liệu đó. – cyberwombat

Trả lời

1

Đối với cành của nó:

{% for i in 0..100 %} 
    * {{ i }} 
{% endfor %} 

Từ http://twig.sensiolabs.org/doc/tags/for.html

Đối uống một lân tài liệu chưa đề cập đến: https://github.com/paularmstrong/swig/blob/master/docs/tags.md#for

ic kiến thực sự nói nhưng nó có thể không được hỗ trợ trong swig kể từ django của nó cảm hứng và django cũng có vẻ thiếu tính năng này nativly: https://code.djangoproject.com/ticket/5172

vì vậy tôi muốn chuyển phần swig sang kế tiếp.

+0

Có vẻ như swig không hỗ trợ tính năng này. Tôi sẽ đánh dấu là câu trả lời vì nó hoạt động cho Twig. Cảm ơn – cyberwombat

8

Các tài liệu uống một lân có từ (câu trả lời ivoba của) được cập nhật và bây giờ chứa special loop variables, trong đó bao gồm loop.index:

{% for x in y %} 
    {% if loop.first %}<ul>{% endif %} 
    <li>{{ loop.index }} - {{ loop.key }}: {{ x }}</li> 
    {% if loop.last %}</ul>{% endif %} 
{% endfor %} 

http://paularmstrong.github.io/swig/docs/#tags-for

14

Nếu bạn có một số, sau đó bạn có thể chỉ chuyển đổi này để một và sau đó sử dụng tiêu chuẩn của Swig cho thẻ. Điều này đơn giản nhất nếu bạn luôn muốn 'bắt đầu' vòng lặp từ 0 mặc dù.

Ví dụ: [? Không bạn tin tưởng docs cành lá]

{% set productCount = 6 %} 
{% set productCountAsArray = Array(productCount) %} 

{# This will run productCount times #} 
{% for x, y in productCountAsArray %} 
    This is for number: {{ x }} 
{% endfor %} 
+0

Câu trả lời hay. Làm việc cho tôi. Tôi chỉ có một câu hỏi. Tại sao hai biến, cụ thể là 'x' và' y' được sử dụng trong vòng lặp for? Có phải vì 'x' hoạt động như bộ đếm Array và' y' lưu trữ nội dung của mảng? – Daggerhunt

+1

Cảm ơn, tôi đã sử dụng nó trong SWIG. OCD của tôi đã khởi động và tôi đã cắt nó theo mặc định: '' '{% cho i trong Array (30)%} blah .... {% endfor%}' '' – ConorLuddy

Các vấn đề liên quan