сложная конструкция блока

lasha

Новичок
сложная конструкция блока

как зарегистрировать блок в стиле или плагин

{blok}
test1
{dapalnitel}
test2
{/blok}

( как if, else)
{if ...}
test1..
{else}
test2...
{/if}
 

lasha

Новичок
Necromant
причом тут это?

вот по ближе к делу -
http://smarty.php.net/manual/ru/plugins.block.functions.php

но я не понял что тут имеется в иду
Если вы используете вложенные блоковые функции, есть возможность определять родительские блоковые функции. Достаточно получить значение переменной $smarty->_tag_stack. Затем останется только применить var_dump() для нее и структура будет видна.
 

kost

Новичок
lasha

Ну да. Правильно. думаете. Регистрируете блок {blok}.
Делаете внутри поиск {dapalnitel} => рвзбиваете на две части.

Дальше. if (...) => делаете первую часть else вторую.

P.S> насчет вложенных блоковых ф-ций. Это типа в примере
{a}
{b}LALALA{/b}
{/a}
можно из {b} узнать родителя. Если вы захотите сделать
{if ...}
{elseif ,,,}
{/if}
вам надо зарегистрировать ф-цию elseif и из нее получать родительский блок, насколько я понял мануал.
 

kost

Новичок
Да. Действительно. Делаю print_r для полученной $tag и сижу в шоке. Шо-то тут не то. Пример, вроде как, не работает должным образом (ли не должен так работать). Вопрос довольно интересен.

Надо сходить на офф. сайт и спросить человеческое решение...

З.Ы> Спасибо за вопросы такого рода. Пока что очень интересно.
 

kost

Новичок
Necromant
По-моему иногда лучше жевать, чем говорить... или я не прав?
 

kost

Новичок
Necromant
Простым $smarty->assign'ом. И что дальше? Как это относится к делу?

Цитирую вопрос:
>и еще, можно ли передать $content функции sub в функцию main?
>{main}
>{sub priority="normal"}content - normal<Br>{/sub}
>{sub prioritet="exception"}content - exception<Br>{/sub}
>{/main}
 

lasha

Новичок
Necromant
я абсолютно согласен с kost.

я там конечно посмотрел но не нашел продолжения и потому спросил конкретного решения.
 
Сверху