Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Systemy szablonów _ Twig problem z iteracja

Napisany przez: z4jc3v 2.07.2014, 23:35:43

Witm mam to tai sobie kod

  1. {% for post in posts %}
  2. {% if loop.first %}
  3. {% set i = i + 1 %}
  4.  
  5. <http://december.com/html/4/element/div.html class="step-{{ i }}">{% for post in posts|slice(0 , loop.index + 3) %}{{ post.PostId }}{% endfor %}</http://december.com/html/4/element/div.html>
  6. {% elseif loop.index % 4 == 0 and not loop.last %}
  7. {% set i = i + 1 %}
  8. <http://december.com/html/4/element/div.html class="step-{{ i }}">{% for post in posts|slice(loop.index , loop.index + i) %}{{ post.PostId }}{% endfor %}</http://december.com/html/4/element/div.html>
  9.  
  10.  
  11. {% endif %}
  12.  
  13. {% endfor %}


który generuje mniej wiecej coś takiego
<div class="step-1">1234</div>
<div class="step-2">5678910</div>
<div class="step-3">910111213141516</div>
<div class="step-4">13141516</div>
</body>

i teraz chodzi mi o to by do kazdego z divow trafialy po 4 id kolejno ulozone. Miał ktoś kiedyś podobny błąd lub moze pomoc go rozwiazac ?
z góry dziekuje

Napisany przez: trueblue 3.07.2014, 07:30:24

Zrobiłbym tak:
- pętla na "posts" zostaje,
- jeśli loop.first drukowanie otwarcia "<div>",
- jeśli loop.index%4==0 i nie loop.last, drukowanie zamknięcie i otwarcia "</div><div>",
- jeśli loop.last "</div>",
- w międzyczasie drukowanie postId,
- step obliczany z intval(loop.index0/4)+1

Napisany przez: z4jc3v 3.07.2014, 20:26:45

dzieki działa idealnie smile.gif temat do zamkniecia

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)