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