Smarty – modyfikatory zmiennych

Data dodania:
25 lipca 09
Autor:
Robert Węglarek
Kategoria:
Inne

Po zapoznaniu się z podstawami Smarty przyszedł czas na operowanie na zmiennych. W artykule tym, postaram się napisać nieco więcej o modyfikatorach zmiennych.

Informacje ogólne

Modyfikatory mogą być stosowane do zmiennych, funkcji zdefiniowanych lub ciągów znaków. Zastosowanie modyfikatora jest banalnie proste. Wystarczy po nazwie zmiennej wstawić znak | (tzw. pipe) a następnie nazwę modyfikatora. Wygląda to tak:

{$zmienna|modyfikator}

Dostępne modyfikatory to: capitalize, cat, count_characters, count_paragraphs, count_sentences, count_words, date_format, default, escape, indent, lower, nl2br, regex_replace, replace, spacify, string_format, strip, strip_tags, truncate, upper, wordwrap.

Parametry

Niektóre modyfikatory mogą przyjmować parametry, które  mają wpływ na jego działanie. Parametry podaje się po nazwie modyfikatora i oddziela znakiem : (dwukropek). Wygląda to tak:

{$zmienna|modyfikator:parametr1:parametr2}

Należy również dodać, iż można zarówno tworzyć własne modyfikatory jak i je łączyć.

Łączenie modyfikatorów

Aby do zmiennej zastosować kilka modyfikatorów należy oddzielić je znakiem | .

{$zmienna|modyfikator1|modyfikator2|modyfikator3}

Modyfikację będą wykonywane w kolejności od lewej do prawej, czyli najpierw zostanie zastosowany modyfikator1 a jako ostatni modyfikator3. Parametry w łączonych modyfikatorach używa się tak samo jak w pojedynczych.

Omówienie modyfikatorów

Poniżej krótko opiszę każdy z dostępnych modyfikatorów. Każdy z nich będzie linkowany do odpowiedniego miejsca w dokumentacji Smarty.

capitalize
Umożliwia zmianę pierwszej litery każdego słowa w zmiennej na wielką.

cat
Dodaje podany ciąg na koniec zmiennej.

count_characters
Sumuje ilość znaków w zawartości zmiennej.

count_paragraphs
Podaje ilość paragrafów z zawartości zmiennej.

count_sentences
Suma zdań w zawartości zmiennej.

count_words
Ilość wyrazów w zawartości zmiennej.

date_format
Formatuje datę i czas do danego formatu strftime().

default
Ustawia wartość domyślną zmiennej. Jeżeli zmienna jest pusta lub niezadeklarowana zostanie wyświetlona wartość domyślna.

escape
Służy do kodowania zmiennych. Dzięki temu można np. zamienić znaki “<”, “>” na encje.

indent
Tworzy wcięcia w tekście zmiennej.

lower
Zamienia wszystkie litery na małe.

nl2br
Wszystkie znaki nowej linii zamieniane są na HTML’owe <br/>.

regex_replace
Wyrażenie regularne, które przeszukuje i zamienia dane w zmiennej.

replace
Proste szukanie i zamiana danych w zmiennej.

spacify
Umożliwia wstawienie spacji pomiędzy każdy znak w zmiennej. Można również podać dowolny inny ciąg, który będzie wstawiony zamiast spacji.

string_format
Formatuje ciągi np. ułamki dziesiętne itp. Należy użyć składni sprintf().

strip
Zastępuje wszystkie powtórzone spacje, nowe linie czy tabulatory na pojedynczą spację lub inny znak podany jako parametr.

strip_tags
Usuwa tagi HTML domyślnie oznaczone jako “<” i “>”.

truncate
Skraca zmienną do podanej długości i opcjonalnie wstawia na koniec podany ciąg znaków np. …

upper
Zamienia wszystkie litery w zmiennej na wielkie.

wordwrap
Pakuje zawartość zmiennej do kolumny o określonej ilości znaków.

Kolejny artykuł

W następnym odcinku z serii “Początki w Smarty” postaram się napisać nieco więcej na temat tablic nieasocjacyjnych.

~Robert Węglarek