(перенесено из компонентный подход, мвс и шаблоны)
Сейчас я пишу сайт с нативными шаблонами + AJAX (jQuery+Form+datepick).
Сами шаблоны лежат в папке со скриптом и называются так же (одна из целей активных шаблонов), но расширение .tpl
В скрипте готовлю глобальные переменные, а в конце - просто
error_reporting(E_ALL^E_NOTICE); //Smarty-style
include('index.tpl');
Формы пишутся как обычно, а обрабатываются проще.
Скрипт-обработчик форм выводит json_encode(массив_ошибок). Данные пользователя остались в форме.
$.each(errorsList,function(k,v){$("label[for="+k+"]").css("color","red")}) подсвечивает поля с ошибками,
.after('<div class=error>'+v+'</div>'); добавит описание ошибки под полем.
Никаких шаблонизаторов, сессий, value="{$userdata.filed_value}",
{if $birth_year_invalid}<tr><td class="error" colspan="3">Sorry, the year is invalid.</td></tr>{/if}
и
{html_select_date
prefix="date_from_"
start_year=2009
end_year=$end_year
time=$date_from|default:'0-0-0'
year_empty=''
month_empty=''
day_empty=''
}
Как же это удобно!
Сейчас я пишу сайт с нативными шаблонами + AJAX (jQuery+Form+datepick).
Сами шаблоны лежат в папке со скриптом и называются так же (одна из целей активных шаблонов), но расширение .tpl
В скрипте готовлю глобальные переменные, а в конце - просто
error_reporting(E_ALL^E_NOTICE); //Smarty-style
include('index.tpl');
Формы пишутся как обычно, а обрабатываются проще.
Скрипт-обработчик форм выводит json_encode(массив_ошибок). Данные пользователя остались в форме.
$.each(errorsList,function(k,v){$("label[for="+k+"]").css("color","red")}) подсвечивает поля с ошибками,
.after('<div class=error>'+v+'</div>'); добавит описание ошибки под полем.
Никаких шаблонизаторов, сессий, value="{$userdata.filed_value}",
{if $birth_year_invalid}<tr><td class="error" colspan="3">Sorry, the year is invalid.</td></tr>{/if}
и
{html_select_date
prefix="date_from_"
start_year=2009
end_year=$end_year
time=$date_from|default:'0-0-0'
year_empty=''
month_empty=''
day_empty=''
}
Как же это удобно!