Smarty: как получить данные обратно из шаблона

LittleDen

Новичок
Smarty: как получить данные обратно из шаблона

Имеем:
1. Маленький скриптик на php, который отображает шаблон.
2. Маленький шаблон, в котором находится форма.
Почему всё маленькое? Потому что только "обкатываю" Smarty и во многие вопросы врубиться совершенно нелегко.

Далее алгоритм index.tpl
1. Если $name == '', то это значит, что это первое отображение шаблона, рисуем форму с двумя полями ввода и одним скрытым полем backend.
2. Если $name <> '', то просто выводим "Привет, {$name}!".

Логика index.php
1. Подготавливаем объекты
2. Если $_REQUEST['backend'] не наличествует, то $name='' и display('index.tpl')
3. Если $_REQUEST['backend'] наличествует, то...
вот тут и начинается самое интересное. Как шаблон передаёт данные, если в нём отработала форма? Или просто не париться и в форме не использовать переменных smarty, а делать всё по старинке, через $_POST, $_GET и так далее?

Как вообще всё это правильно делается?
 

Demiurg

Guest
форма отрабатывает не в шаблоне, вернее она вобще не отрабатывает. Браузер посылает данные из формы скрипту, и ни о каких шаблонах не знает. Как обрабатывать данные из формы - это в числом виде бизнес-логика а никак не логика представления. Поэтому и обрабатывать надо данные в скрипте.
 

jonjonson

Guest
Шаблон ничего не отдает, ибо форма в нем ничего не обрабатывает. Шаблон служит для генерации хтмл и не совсем хтмл кода отдаваемого браузеру. На основе действий пользователя тебе возвращается запрос к скрипту, который вновь юзает шаблон для генерации очередного ответа. Посему, если проследить цепь мыслей, то можно догадаться, что шаблон ничего не передает скрипту.
 

Johannes

Guest
шаблон никаких данных не передаёт. А backend в index.php (если он конечно стоить в action) передается через $_POST / $_GET.
 

LittleDen

Новичок
Так. С этим разобрались. :)
А как быть со случаем, когда в форму надо подставить значения "по умолчанию", а потом взять изменённые? Просто ставим value={$logindef} и тому подобное и его передаём в шаблон?
 

jonjonson

Guest
А ведь доку по смарти уже почти полностью перевели на русский. И примеры есть. Эх...
 

LittleDen

Новичок
jonjonson, ты видел эти примеры? Дока есть у меня. Там описание синтаксиса в основном.
Немного помог Crash Course с сайта разработчика: хоть что-то в этой жизни понимать стал. :)
ПОЛНОГО перечня и описания всех функций, переменных, модификаторов так и не нашёл. :(

-~{}~ 30.09.04 18:42:

jonjonson, вдогонку: примеры смотрю в основном в исходниках tiki-wiki. Во дожились... :(
 

FreeSpace

Чукча-читатель
LittleDen
Ты эту доку читал вообще?
http://smarty.php.net/manual/ru/
Там как раз полное описание всех функций, переменных, модификаторов и многого другого.
Я имею в виду публичных (public) функций и переменных, которые интересны пользователям этой библиотеки.
 

LittleDen

Новичок
FreeSpace, худо-бедно сначала наткнулся там на список модификаторов, потом уже нашёл ВСЕ функции. (шёпотом) я ожидал, что их будет больше. :)
В общем, я понял, что здесь меня без ответа не оставят. :)
 
Сверху