искользование переменных переменных в шаблонах

zerkms

TDD infected
Команда форума
искользование переменных переменных в шаблонах

привет

появилась надобность заюзать переменные переменные

как поправить шаблон:

{assign var="b" value="2"}
{assign var="a_2" value="3"}
{assign var="с" value="$a_`$b`"}
{$c}

чтобы он выводил соответственно 3??

в частности:

заставить работать строку:

{popup text="$a_`$b`"}

заранее благодарен

-~{}~ 03.07.05 03:50:

{assign var="tmp" value='a_'|cat:$b}
{popup text=$tmp}


работает, у кого будет предложение гениальней - прошу:
 

alexhemp

Новичок
zerkms

Объясни задачу - зачнем это нужно? Может быть использовать массивы?
 

zerkms

TDD infected
Команда форума
нет - массивы использовать не получится

я делаю всплывающую менюшку с помощью {popup}

в качестве параметра text я должен передать непосредственно тело этой менюшки например:
<table><tr><td><a href="url">title</a></td></tr></table>

это представление меню в виде таблицы с 1 столюцом и несколькими рядами - логика представления => я генерирую её с помощью смарти, затем делаю
{capture name="jip_$key"}

- получаю переменные {$smarty.capture.jip_1} ... {$smarty.capture.jip_x} - в которых содержатся непосредственно тела менюшек...

далее эти менюшки надо параметром text передать в {popup}
text="$smarty.capture.jip_`$key`"} - подобная конструкция и её вариации не работают. на freenode.net решением было найдено только использование промежуточной переменной...


fetch() зарулило.... thanx to ForJest
 

Фанат

oncle terrible
Команда форума
да.
а ведь когда-то и перед создателями Смарти стояла благая цель - облегчить труд верстальщика. Но уже давно они перешли на тёмную сторону Силы...
 

zerkms

TDD infected
Команда форума
Фанат
это понятно - но создание вида попап-меню - исключительно забота смарти, т.к. представление => и делать его надо в смарти, как бы страшно оно ни казалось (имхо)
 
Сверху