Polskie wsparcie PrestaShop

PrestaShop => Wygląd => Wątek zaczęty przez: kruger30 w Sierpień 24, 2016, 10:24:05 pm

Tytuł: Modyfikacja szablonu
Wiadomość wysłana przez: kruger30 w Sierpień 24, 2016, 10:24:05 pm
Witam serdecznie wszystkich.Jestem świeży jeżeli chodzi o presta. Porobiłem już parę kursów z obsługi podstawowej i jest to dla mnie w miarę czytelne.
Mam zapytanie odnośnie modyfikacji szablonu na presta.
Do tej pory nie miałem okazji tworzenia żadnego sklepu ale czas przyszedł na to. Tworzyłem szablony na drupal i wordpress.
Korzystam z standardowego szablonu presta czyli default-bootstrap. Boostrap jest dla mnie jak najbardziej na tak ponieważ łatwo się go modyfikuję. Zbadałem już mniej więcej katalog szablonu  i wiem ze jest oparty na smarty.
Moje pytanie jest :
1 ) jak można dodać kolejny „miejsce” na umieszczanie w np. modułu cms lub np. listy kategorii.
W wordpress były to widgety a na drupalu regiony i bloki.
Czy na prestashop można w podobny sposób dodawać takie miejsca ?
Mam np. stopke
<div class=”row”>
<div class=”col-12”>
Chciałbym tutaj dodawać np blok z cms lub np liste kategorii
</div>
</div>

Proszę o podpowiedź :)
Tytuł: Odp: Modyfikacja szablonu
Wiadomość wysłana przez: west w Sierpień 24, 2016, 10:31:39 pm
Musisz zarejestrować hook w dowolnym module, który posiadasz linijka:
public function install()
{
return
parent::install()

&& $this->registerHook('mojzaczep');
}
spowoduje dodanie do bazy danych hooka
następnie w tpl wywołujesz tego hooka:
{hook h = "mojzaczep"}no i oczywiście podpinasz dany moduł, który chcesz wyświetlić do tego zaczepienia.

Natomiast Ty piszesz bardziej o widgetach jak w Wordpress, a ta funkcjonalność będzie dopiero w wersji 1.7.
Jeśli zaś chcesz wstawić cokolwiek wystarczy, że dopiszesz funkcję w smarty - a klasy w PS masz gotowe wystarczy się do nich odwołać [katalog classes]

Tytuł: Odp: Modyfikacja szablonu
Wiadomość wysłana przez: kruger30 w Sierpień 24, 2016, 11:17:22 pm
Przepraszam wyraziłem się źle. Tzn w wordpress tworzyłem miejca dla widgetów. Mogłem w szablonie utworzyć miejsce a następnie z panelu admina umieścić tam widget który np okazywał ostatnie post.

W drupalu tworzyło się regiony a w tych regionach można było osadzać bloki które miały różne funkcjonalności.

W presta chciałbym mieć podobną kontrole. Np mam

<div class="row">
<Div class="col-md-6"> cos </div>
<Div class="col-md-6"> cos </div>
</div>

A chciałbym zamienić na

<div class="row">
<Div class="col-md-4"> cos </div>
<Div class="col-md-4"> nowe miejsce dla modułow</div>
<Div class="col-md-4"> cos </div>
</div>

Jak dobrze rozumiem to hooki umożliwiają pozycje dla modułów  ?
Tytuł: Odp: Modyfikacja szablonu
Wiadomość wysłana przez: west w Sierpień 24, 2016, 11:18:44 pm
tak dokładnie  :)
Tytuł: Odp: Modyfikacja szablonu
Wiadomość wysłana przez: kruger30 w Sierpień 24, 2016, 11:32:21 pm
Ok ostatnia rzecz:)
Tzn mam np moduł.  blocktags  i plik blocktags.tpl.

Dodaje w tym pliku ten kod ?
public function install()
{
return
parent::install()

&& $this->registerHook('mojzaczep');
}

A potem w tpl daje {hook h = "mojzaczep"} ?
Tytuł: Odp: Modyfikacja szablonu
Wiadomość wysłana przez: endriu107 w Sierpień 25, 2016, 05:25:25 am
Tak, tylko jeszcze w kontrolerze modułu musisz dopisać obsługę tego hooka "mojzaczep".
Tytuł: Odp: Modyfikacja szablonu
Wiadomość wysłana przez: west w Sierpień 25, 2016, 08:20:07 am
i podczas pisania wątków musisz stosować znaczniki "code" taki przycisk nad okienkiem pisania wiadomości # 
Tytuł: Odp: Modyfikacja szablonu
Wiadomość wysłana przez: kruger30 w Wrzesień 07, 2016, 04:15:45 pm
Wyczytałem na stronie prestyshop
- Tworzenie własnego hook'a
Dodanie do bazy danych wpisu.
INSERT INTO `ps_hook` (`name`, `title`, `description`) VALUES ('nameOfHook', 'The name of your hook', 'This is a custom hook!');
A jak mogę wywołać w tym hook'u  się np blockcart

Na stronie presty jest kod
{hook h='nameOfHook' mod='blockcart'}

Czy w folderze modules/blockcart   w pliku php musze dodać cos jeszcze ? czy w folderze szablonu w folder themes/nazwa//modules/blockcart ?

Tytuł: Odp: Modyfikacja szablonu
Wiadomość wysłana przez: west w Wrzesień 07, 2016, 04:59:57 pm
tylko w pliku php  modułu
najłatwiej zarejestrować nowego hooka dodając go do instrukcji instalacyjnej modułu - skorzystaj z wyszukiwarki forum podawaliśmy dość szczegółową instrukcję