PrestaShop | System szablonów

Witam w kolejnym artykule o systemie sklepowym Prestashop. Dziś opowiem trochę o szablonach.

Najprościej można powiedzieć, że szablony to zbiory plików o sprecyzowanej strukturze. Po lewej stronie przedstawiam standardowy układ wewnątrz folder 'default' - domyślnego szablonu instalowanego wraz ze sklepem. Jak widać mamy tu dostęp do m.in. plików CSS, JS, a co najważniejsze plików TPL. Tak po prawdzie to one są tutaj kluczowym elementem. Pliki o rozszerzeniu TPL to nic innego jak pliki zapisane w składni SMARTY. A więc kto miał już przyjemność pracować w Smarty to tutaj poczuje się jak w domu.

Co nam daje obsługa szablonów? Dzięki temu możemy w dowolnej chwili w łatwy sposób (jedno kliknięcie w panelu administratora) zmienić wygląd całego sklepu. Jest to bardzo wygodne rozwiązanie. Można szybko zmienić układ całego sklepu, zmienić całą szatę graficzną z możliwością powrotu do innego szablonu w dowolnej chwili.

Przyjrzyjmy się bliżej strukturze folderów wewnątrz szablonu. Mamy tutaj folder cache do którego zapisuje nam się właśnie cache. Standardowo foldery css, img, js - do przechowywania plików. Dzięki takiemu zabiegowi nie musimy stosować w każdym szablonie całkiem innego nazewnictwa klas. Każdy szablon wczytuje swoje własne style, skrypty czy obrazki. Tak samo każdy szablon może mieć inne tłumaczenia dzięki folderowi lang. Oczywiście nie musimy wszystkich elementów rozgraniczać, nie ma takiej potrzeby. Bardzo przydatne jest umiejscowienie folderu modules wewnątrz szablonu. Przeważnie przechowujemy tam tylko plik *.tpl, ale dzięki temu w każdym szablonie możemy sprecyzować jak dokładnie ma wyglądać każdy moduł; np. w szablonie A możemy usunąć usunąć ceny z listy Bestsellerów, a w szablonie B możemy zachować oryginalny układ, lub na przykład przenieść cenę w inne bardziej odpowiadające nam miejsce. 

Każdy doceni wartość folderu modules w momencie, gdy będzie chciał przenieść szablon do innego sklepu. Dlaczego? Taki przykład: przygotowujemy sobie szablon responsywny co wymaga sporo zmian w modułach i pracy nad każdym modułem indywidualnie, dlatego kopiujemy sobie pliki *.tpl z głównego folderu sklepu i tworzymy podobną strukturę w modules wewnątrz szablonu. Wtedy przenosząc szablon, przeniesiemy automatycznie wszystkie zmiany w modułach. Takie rozwiązanie bardzo przyśpiesza pracę. Albo inny przykład: szablony kupione w sieci lub wersje darmowe. Jeżeli przyjrzymy się gotowemu rozwiązaniu zauważymy na pewno, że wszystkie podstawowe moduły sklepu są zawarte wewnątrz folderu modules

No dobrze, ale skąd system ma wiedzieć czy korzystać z modules z folderu głównego czy z szablonu? Prestashop jest tak zbudowany, że dla modułów z których korzystamy będzie szukał plików w modules wewnątrz szablonu, w przypadku braku plików, wykorzysta pliki z modules z folderu głównego - tam już pliki muszą się znajdować.

W szablonach mamy do dyspozycji wiele zmiennych predefiniowanych, takich jak na przykład:

  • $base_dir
  • $img_ps_dir
  • $img_dir
  • $css_dir
  • $tpl_dir
  • $modules_dir
  • $lang_iso
  • $come_from
  • $shop_name
  • $currencies
  • $logged
  • $page_name

Ale o zastosowaniu powyższych zmiennych opowiem w kolejnym artykule. 

Kontakt