В моем шаблоне smarty есть следующий код:
{foreach from=$categories item=l}
<tr>----------START---------------</tr> <br/>
{$l.category_name|strip_tags}
{$l.sub_category}
{while $l.sub_category}
<td>{$l.category_name|strip_tags}</td>
{foreach from=$l.sub_category item=k}
<td>{$k.category_name|strip_tags}</td>
<br/>
{/foreach}
<br/>
{/while}
----------END---------------
<br/>
<br/>
{/foreach}
Это выводит:
---------- START ---------------
Teachers & StaffArray
---------- END ---------------
---------- START ---------------
ЗПТ & Фонды
---------- END ---------------
---------- START ---------------
Программы обогащения
---------- END ---------------
Учителя и сотрудники 5-го класса, 6-го класса
ЗПТ & Фонды
Программы обогащения
Я ожидал распечатать:
---------- START ---------------
Учителя и сотрудники
5-й класс 6-й класс
---------- END ---------------
---------- START ---------------
ОТА и фонды
---------- END ---------------
---------- START ---------------
Программы обогащения
---------- END ---------------
Похоже, что вывод выводится после цикла for. Я новичок в шаблонах Smarty и не совсем понимаю, почему его печать такая.
Кроме того, у меня есть еще один вопрос:
{while $l.sub_category}
{foreach from=$l.sub_category item=k}
<br/>
{ $k.category_name|strip_tags }
{/foreach}
{ assign var=l value=$l.sub_category}
<br/>
{/while}
Я хочу обновить переменную условия цикла ... но я не совсем уверен, как иначе, чем метод присвоения, который я сделал.
Любой совет приветствуется.