Если вставить в документ Smarty код javascript то будет ошибка по причине того, что очень часто бывает конфликт с символом разделителем. Например, любая многострочная функция в javascript начинается с символа “{“, а такой символ в smarty означает управляющую конструкцию.
Код smarty выполняется на сервере, а javascript код выполняется уже на страничке (через браузер), которую сгенерировал сервер. Но код javascript находится в документе, который выполняется на сервере, поэтому и происходит ошибка, когда сервер генерирует код.
Для того чтобы не было конфликта нужно ставить теги {literal} между javascript кодом. {literal} это открывающий тег, а {/literal} закрывающий. Между этими тегами smarty код не выполняется и поэтому ошибок не будет. Кстати и css код тоже нужно ставить между этими тегами.
Это первая замента про smarty на моем блоге. В будущем буду дальше публиковать заметки или статьи про smarty. Cо smarty серьезно я начал работать, когда начал делать шаблоны для webasyst и для shop-script.
Вначале к smarty пришлось привыкать, так как была привычка работать без шаблонизаторов. Но потом быстро увидел все плюсы smarty.







