System szablonów Smarty - PHP - ściągawka
Smarty - system szablonów odzielający kod html od kodu języka php. Aktualnie używany w sklepie internetowym PrestaShop. Jest jednym z najpopularniejszych silników, jakiś czas temu został wyparty przez Twig, ale dalej jest w czołówce, aktualnie (rok 2022) na miejscu drugim.
Zalety:
- prostota
- przejrzystość kodu html (a co za tym idzie także php) - taki kod łatwiej się czyta
- spora ilość udogodnień w postaci funkcji, modyfikatorów, pętli które zastępują możliwości PHP - odciążają złożoność kodu PHP
- niezwodność dzięki kolejnym wersjom biblioteki - smarty jest już od 2002 roku
- ciągły rozwój - silnik przystosowywany jest do najnowszych wersji PHP (aktualnie do 8.1)
- smarty jest w 100% darmowe, jest to projekt open source
Przykłady użycia Smarty i ściągawka często używanych kawałków kodu
zmienne {assign var='nazwaPola' value='uprawnienie_$nazwaPola'}
Reszta z dzielenia (np w co n-tym wierszu postów) {if $smarty.foreach.NEWS.iteration % 3 eq 0}
{/if}
formatowanie liczby:
{$zmienna.cena|number_format:2:',':''}
Modyfikatory: Zamiana znaków końca linii na tag BR:
{$zmienna|nl2br}
Przycięcie stringa do N znaków:
{$imie|truncate:N:'':TRUE}
smarty.foreach.nazwapetli.index % 3==0
- dla co trzeciego wiersza łącznie z początkiem
błędne:
smarty.foreach.nazwapetli.iteration % 3==0
Ilość elementów w tablicy:
{$myarray|@count}
Skrócenie daty / formatowanie zmiennej MySQL datetime do 2019-05-01 13:23
{$data|date_format:'%Y-%m-%d %H:%M'}
Debugowanie zmiennej {$klucze_obce|@print_r}
Przypisanie wskaźnika do zmiennej (Smarty wersja 3)$smarty->assignByRef('Name', $myname);// w wersji 2 assign_by_ref