Osadzanie javascript w smarty

Tym razem krótki wpis pokazujący jak w smarty wstawić javascript zawierający nawiasy klamrowe. W końcu to jest problemem, prawda? Nowsze wersje smarty mają wbudowaną obsługę rozpoznawania co jest kodem javascript, a co kodem szablonu, ale idzie za tym mniejsza wydajność w generowaniu treści. Dlatego też wiele osób nadal posługuje się starszą wersją. Dochodzimy tutaj do sedna problemu. W szablonie smarty nawiasy klamrowe pełną rolę informacyjną, mówiącą „tutaj zaczyna się Twoja rola, będzie zmienna/funkcja do wywołania”. Kompilator szablonów robi swoje i w ten sposób widzimy biały ekran zamiast strony www.

Rozwiązanie problemu z { } w javascript

W Smarty występuje polecenie, dzięki któremu możemy pominąć fragment szablonu i potraktować go jako statyczny tekst. Poleceniem tym jest {literal}{/literal}. Wewnątrz tych znaczników możemy wstawić dowolny tekst, a kompilator po prostu pominie ten fragment szablonu i przeniesie go w całości do docelowego pliku. Przykładowo:

{$zmienna}
{wtyczka_smarty}
{literal}
<script type="text/javascript">
function test() {
   alert( 'test' ) ;
}
</script>
{/literal}

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*