Szablony
Uwaga – poniższa treść przeznaczona jest tylko dla zaawansowanych użytkowników i nie jest objęta wsparciem technicznym. Wszelkie informacje w tym temacie znajdują się tutaj.
Program korzysta z systemu szablonów
Smarty w wersji 2.x. Poza ogólnodostępnymi funkcjami, dostępne są tzw. helpery:
- {baseDir}Zwraca absolutną ścieżkę [bez domeny] pod jaką znajduje się sklep.Parametry:
- nonempty = 1 [opcjonalny] – zwraca ”/” zamiast pustego stringu, jeżeli sklep nie znajduje się w żadnym z podfolderów
Przykład:
< a href="{baseDir nonempty=1}">Strona główna</ a>
- {box}Wstawia do kodu szablon modułu (box). Działanie podobne do {include}, ale m.in. z obsługą cache.Parametry:
- file (string) [obowiązkowy] – relatywna ścieżka do pliku szablonu
- box (string) [obowiązkowy] – nazwa modułu
Przykład:
{box file="../boxes/Menu/box.tpl" box="Menu"}
- {country}Zwraca nazwę kraju w aktualnym języku sesji.Parametry:
- code (string) [obowiązkowy] – dwuliterowy kod kraju
Przykład:
{country code="PL"}
- {currency}Zwraca cenę w aktualnej walucie sesji.Parametry:
- value (float) [obowiązkowy] – wartość wejściowa, jeżeli waluta sesji jest inna niż waluta domyślna sklepu (wejściowa), nastąpi automatyczne przeliczenie w oparciu o stawki w sklepie
- ceil (int) [opcjonalny] – ilość miejsc po przecinku, do zaokrąglenia
- float (bool) [opcjonalny] – zwracany wynik rzutowany jest na float (pełna dokładność)
- float_currency (bool) [opcjonalny] – zwracany jest string bez formatowania walutowego (jak float), zaokrąglony do dwóch miejsc po przecinku
Przykład:
{currency float_currency=1 value=13.5}
- {date}Zwraca datę w formacie odpowiednim do danego języka sesji.Parametry:
- value (string) [obowiązkowy] – data wejściowa (wszystkie formaty obsługiwane przez
Zend_Date) - format (string) [opcjonalny] – wymuszenie własnego formatu
Przykład:
{date value=$x format='Zend_Date::DATE_MEDIUM'}
- value (string) [obowiązkowy] – data wejściowa (wszystkie formaty obsługiwane przez
- {dynamic}.Przykład:
{dynamic} < b>{$user->user->getName()|escape}</ b> {/dynamic}
- {float}Zwraca liczbę zmiennoprzecinkową w formatowaniu języka sesji (odstępy, separator dziesiętny, etc.)Parametry:
- value (float) [obowiązkowy] – wartość wejściowa
- precision (int) [opcjonalny] – zaokrąglenie
- useSign (bool) [opcjonalny] – wymuś znak (+)
- noformat (bool) [opcjonalny] – bez formatowania (używane np. tylko do zaokrąglania)
- trim (bool) [opcjonalny] – usuń zera oraz ewentualnie znak dziesiętny (jeżeli zbędny)
Przykład:
{float value=13.45 precision=1 useSign=true trim=true}
- {imageUrl}Zwraca ścieżkę do zdjęcia odpowiednio zdjęcia lub jego tymczasowej, zapisanej wersji (cache).Parametry:
- image (string) [obowiązkowy] – nazwa pliku
- width (int) [opcjonalny] – szerokość w pikselach
- height (int) [opcjonalny] – wysokość w pikselach
- type (string) [opcjonalny] – typ (ścieżka), domyślnie „productGfx”
- overlay (bool) [opcjonalny] – w przypadku braku zdjęcia (np. dla produktu), użyj pliku __overlay.jpg
Dopuszczalne wartości dla type znajdują się w sekcji [userdata] pliku /environment/config/system_paths.ini.
Przykład:
< a rel="milkbox:gall" href="{imageUrl type='productGfx' image=$img->unic_name}">...</ a>
- {include}Helper {include} jest standardowo zawarty w Smarty. Aplikacja dodaje do niego dodatkowe parametry, które pozwalają wymusić zapisanie w cache.Parametry:
- file (string) [obowiązkowy] – relatywna ścieżka do pliku szablonu
- force_include_cache (bool) [opcjonalny] – wymuś zapisanie wyniku szablonu w cache,
- force_include_cache_tags (string) [opcjonalny] – oddzielona przecinkami lista klas, których modyfikacja ma spowodować usunięcie wyniku strony z cache
Przykład:
{include file='footer.tpl' force_include_cache=1 force_include_cache_tags='Logic_SkinFooterGroupList,Logic_SkinFooterLinkList,Logic_SkinFooterGroup,Logic_SkinFooterLink'}
- {lang}Zwraca aktualny język sesji.Parametry:
- key (string) [obowiązkowy] – typ zwracanej wartości, dopuszczalne wartości: id | short | long
Przykład:
< script type="text/javascript" src="{baseDir}/public/scripts/lang/{lang key='long'}.js"></ script>
- {plugin}
Parametry:- module (string) [obowiązkowy] – moduł aplikacji
- template (string) [obowiązkowy] – nazwa modyfikatora (szablonu)
Przykład:
{plugin module=shop template=basket-zagiel}
- {route}Zwraca ścieżkę do podstrony sklepu.Parametry:
- key (string) [obowiązkowy] – identyfikator ścieżki
- function (string) [opcjonalny] – szczególny typ wywołania (np. dla produktu), używane dla modyfikowalnych linków SEO, dopuszczalne wartości: product | category | producer | news | infopage
Pozostałe parametry zostają przekazane do klasy System_Router.
Klucze ścieżek znajdują się w pliku /environment/config/routers.ini. Wszystkie parametry podane w adresie route muszą zostać podane.
W przypadku użycia parametru function, jako key należy podać identyfikator (ID) danego produktu, producenta, itp.
Przykład:
Usunięcie produktu z koszyka:
< a href="{route key='basketRemove' basketId=$basket_product->getIdentifier()}" title="{translate key='Remove product from your basket'}">...</ a>
Link do strony produktu:
< a href="{route function='product' key=$product->getIdentifier() productName=$product->translation->name productId=$product->getIdentifier()}" title="{$product->translation->name|escape}">...</ a>
- {translate}Zwraca frazę przetłumaczoną na dany język sesji. W przypadku nieznalezienia tłumaczenia, zwraca frazę wejściową.Parametry:
- key (string) [obowiązkowy] – fraza wejściowa
- format (string) [opcjonalny] – format, dopuszczalne wartości: currency | date | int
Wszystkie pozostałe parametry zostają przekazane, po przetłumaczeniu frazy, do funkcji
vsprintf().Przykład:
< span>{translate key='Order history (%d)' p1=$orders_count}</ span>