Для чего нужно заключать некоторые элементы в {literal} {/literal}
Для чего нужно заключать код или текст экранировать в тег {literal} {/literal}..?
Что даёт это и для чего это нужно..?
Пример из скрипта:
И почему просто допустим не сделать:
Что даёт это и для чего это нужно..?
Пример из скрипта:
{literal}<script type="text/javascript" src="http://vkontakte.ru/js/api/share.js?5" charset="windows-1251"></script>{/literal}
И почему просто допустим не сделать:
<script type="text/javascript" src="http://vkontakte.ru/js/api/share.js?5" charset="windows-1251"></script>
11 комментариев
© smarty.net
Непонятно только зачем это использовать в вышеприведенном примере, т.к. код все равно не был бы обработан шаблонизатором :)
btw с в smarty3 потребность в экранировке практически отпала :)
Пока не до конца понял про literal но буду разбираться дальше..=)
смотри. по умолчанию смарти использует в качестве разделителей фигурные скобки. например {$smarty.function} натыкаясь на них, он будет пытаться обработать код который в них заключен. НО так же фигурные скобки используются и в цсс (.class { style:style }) и в js (пример не приведу), которые шаблонизатор тоже будет пытаться обрабоать, но не сможет, споткнется и выдаст ошибку. Вот для того, чтобы шаблонизатор не спотыкался о код который ему не предназначен и используется теги {literal} :) Они говорят шаблонизатору, что код который внутри тега не для него и не нужно его обрабатывать.
в переменную перед literal
Код javascript некорректен, но суть, я думаю ясна