Есть ли что-нибудь вроде Dwoo-s {with} или {loop} в Smarty 3 или более ранней версии? - PullRequest
2 голосов
/ 15 октября 2010

{with} и ​​{loop} плагины в движке шаблонов Dwoo изменяют контекст по умолчанию для разрешения имен переменных.

Если в Dwoo вы используете шаблон:

{$arr.foo}
{with $arr} {$foo} / {$arr.foo} {/with}

с данными:

array('arr' => array( 'foo' => 'bar' ))

будет выводиться:

bar
bar / 

потому что second {$ arr.foo} на самом деле означает {$ arr.arr.foo} в глобальном контексте.

Знаете ли вы, как я могу добиться подобного эффекта в Smarty?

Есть ли какая-то встроенная функциональность или сторонний плагин, который мог бы позволить мне иметь это?

Есть ли у вас идеи, как создать такой плагин, если он не существует?

Ответы [ 2 ]

0 голосов
/ 28 декабря 2010

Насколько мне известно, вы не можете достичь этого эффекта в Smarty 3 или ранее.

0 голосов
/ 19 октября 2010

У вас есть foreach для достижения loop:

{foreach from=$arr item=foo}
    <li>{$foo}</li>
{/foreach}

Если вы ищете замену with, боюсь, в Smarty нет аналогичной команды.

...