{with} и {loop} в Dwoo template engine изменяют контекст по умолчанию для разрешения имен переменных.
Если в Dwoo вы подаете шаблон:
{$arr.foo} {with $arr} {$foo} / {$arr.foo} {/with}
с данными:
array('arr' => array( 'foo' => 'bar' ))
он будет выводить:
bar bar /
потому что второй {$ arr.foo} на самом деле означает {$ arr.arr.foo} в глобальном контексте.
Вы знаете, как я могу добиться подобного эффекта в Smarty?
Есть ли какие-то функции в функциональности или плагины сторонних разработчиков, которые могут позволить мне это?
Вы не знаете, как создать такой плагин, если он не существует?
У вас есть foreach для достижения loop
:
{foreach from=$arr item=foo} <li>{$foo}</li> {/foreach}
Если вы, однако, ищете замену, я боюсь, что в Smarty нет подобной команды.
Насколько мне известно, вы не можете добиться этого эффекта в Smarty 3 или ранее.