Szablony

Data publikacji: 21 marca 2016 Ostatnia aktualizacja: 25 listopada 2024

WAŻNE! 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ę w artykule: Shoper Developers.

Z jakich szablonów korzysta sklep Shoper?

Szablony sklepów na platformie Shoper korzystają z systemu 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:

Skopiuj
<
<a href="http://december.com/html/4/element/a.html">a</a>
<span class="kw3">href</span>="{baseDir nonempty=1}"&gt;Strona główna&lt;/
<a href="http://december.com/html/4/element/a.html">a</a>&gt;
  • {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:

Skopiuj
{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:

Skopiuj
{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:

Skopiuj
{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:

Skopiuj
{date value=$x format='Zend_Date::DATE_MEDIUM'}
  • {dynamic}.

Przykład:

Skopiuj
{dynamic} &lt;
<a href="http://december.com/html/4/element/b.html">b</a>&gt;{$user-&gt;user-&gt;getName()|escape}&lt;/
<a href="http://december.com/html/4/element/b.html">b</a>&gt; {/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:

Skopiuj
{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:

Skopiuj
&lt;
<a href="http://december.com/html/4/element/a.html">a</a>
<span class="kw3">rel</span>="milkbox:gall"
<span class="kw3">href</span>="{imageUrl type='productGfx' image=$img-&gt;unic_name}"&gt;...&lt;/
<a href="http://december.com/html/4/element/a.html">a</a>&gt;
  • {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:

Skopiuj
{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:

Skopiuj
&lt;
<a href="http://december.com/html/4/element/script.html">script</a>
<span class="kw3">type</span>="text/javascript"
<span class="kw3">src</span>="{baseDir}/public/scripts/lang/{lang key='long'}.js"&gt;&lt;/
<a href="http://december.com/html/4/element/script.html">script</a>&gt;
  • {plugin} – parametry:
    • module (string) [obowiązkowy] – moduł aplikacji,
    • template (string) [obowiązkowy] – nazwa modyfikatora (szablonu).

Przykład:

Skopiuj
{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:

Skopiuj
&lt;
<a href="http://december.com/html/4/element/a.html">a</a>
<span class="kw3">href</span>="{route key='basketRemove' basketId=$basket_product-&gt;getIdentifier()}" title="{translate key='Remove product from your basket'}"&gt;...&lt;/
<a href="http://december.com/html/4/element/a.html">a</a>&gt;

Link do strony produktu:

Skopiuj
&lt;
<a href="http://december.com/html/4/element/a.html">a</a>
<span class="kw3">href</span>="{route function='product' key=$product-&gt;getIdentifier() productName=$product-&gt;translation-&gt;name productId=$product-&gt;getIdentifier()}" title="{$product-&gt;translation-&gt;name|escape}"&gt;...&lt;/
<a href="http://december.com/html/4/element/a.html">a</a>&gt;
  • {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:

Skopiuj
&lt;
<a href="http://december.com/html/4/element/span.html">span</a>&gt;{translate key='Order history (%d)' p1=$orders_count}&lt;/
<a href="http://december.com/html/4/element/span.html">span</a>&gt;

Edycja szablonu przez protokół WebDAV

Od wersji 5.8.19 istnieje możliwość edycji szablonów graficznych sklepów abonamentowych za pomocą lokalnych edytorów kodu (np. Note++, Sublime etc.) wykorzystując protokół WebDAV.

Edycja szablonu przez protokół WebDAV możliwa jest tylko dla jego kopii. W oryginalnym szablonie nie ma możliwości edycji zaawansowanych plików skórki.

Możliwość edycji kodu szablonu graficznego przez WebDAV przyspiesza i usprawnia pracę developera, podczas wdrażania indywidualnych modyfikacji szablonów w sklepach SaaS.

Zaawansowane modyfikacje i rozwiązania programistyczne w szablonie Storefront

Shoper Visual Editor to nie tylko intuicyjne narzędzie pozwalające na projektowanie szablonu sklepu jak z kloców, ale jednocześnie rozbudowana aplikacja pozwalająca na wprowadzanie zaawansowanych modyfikacji i nowoczesnych rozwiązań programistycznych.

Warto zapamiętać!
W powyższym artykule zostało wyjaśnione:
  • Jakie funkcje realizują poszczególne helpery w szablonach sklepu Shoper?
  • Jak zmieniać pliki szablonu sklepu przez WebDAV?
  • Jak wdrożyć zaawansowane zmiany w szablonie Storefront?
Czy ten artykuł był pomocny?
Tak
Nie
Dziękujemy za odpowiedź!
Udostępnij artykuł:

Przetestuj sklep internetowy
przez 14 dni za darmo

Korzystaj ze wszystkich funkcji oprogramowania za darmo i bez zobowiązań.

Testuj wszystkie funkcje przez 14 dni bez zobowiązań. Zakładając sklep poprzez podanie
adresu e-mail akceptujesz nasz Regulamin i Politykę Prywatności