» Smarty - funkcje i modyfikatory
W pewnym momencie korzystania ze smarty dojdziemy do wniosku, że brakuje nam jakieś funkcji czy też modyfikatora. Jeśli rzeczywiście jest nam to niezbędne i mamy zamiar wykorzystywać nową funkcjonalność w kilku miejscach to warto napisać sobie takie rozszerzenie, zwłaszcza, że nie jest to trudne co ma ukazać niniejsza notka.
Pierwszą rzeczą jaką należy zrobić to dodać nową ścieżkę, w której to będziemy umieszczać nasze nowe rozszerzenia (plugins).
No i to tyle jak chodzi o ustawienia. Przejdźmy teraz do utworzenia modyfikatora. Za przykład użyjemy 'h', który ma za zadanie traktować praktycznie wszystkie zmienne, które były wprowadzone przez użytkownika. Tak swoją drogą dziwie się, że nie ma tego w smarty domyślnie.
Tak przygotowaną funkcję musimy umieścić w odpowiednio nazwanym pliku, w tym przypadku będzie to modifier.h.php, a następnie umieścić w naszym katalogu z rozszerzeniami.
Powyższy modyfikator powinien już działać, a teraz zajmiemy się funkcją. Posiada ona dwa argumenty, w pierwszym jest tablica parametrów, które wprowadziliśmy, natomiast drugi to referencja do obiektu smarty.
Podobnie jak w poprzednim przypadku musimy przyporządkować odpowiednią nazwę, function.example.php i umieścić w katalogu z rozszerzeniami.
Na koniec przykładowe wywołanie funkcji i modyfikatora.
{example text=$name|h}
Słowa kluczowe: PHP, Szablony, Techblog, funkcje, modyfikatory, szablony, artykuł, blog
Komentarze i opinie
Eee, a Ty stwierdzisz w pewnym momencie, że istnieje coś takiego jak cache ;) ale nie używaj tego ze smarty, lepiej użyć własnego, a jeszcze dalej Ci mogę powiedzieć, cache zacznie być używany na etapie serwera www :) np. mój kolega opracował moduł do light httpd, który się tym zajmuje.
No ciekawy tekst, ale raczej dla osób, które ze Smarty nie mieli większego doświadczenia i nie przeglądały dokładnie dokumentacji. Nie mniej jednak zapewne komuś się przyda ;)
ps. mógłbyś częściej pisać :P
Mógłbyś rozwinąć temat modułu do light httpd ?
Niestety na dzień dzisiejszy ten moduł nie jest udostępniony publicznie, ale z tego co mi kolega mówił możliwe, że zostanie udostępniony na wojnej licencji. Jeśli będę posiadał jakieś nowe informacje nie omieszkam ich tutaj podać.


a jeszcze w innym momencie programowania stwierdzisz ze smarki to straszna kobyła i większość czasu generowania się strony zajmują smarki ;]