Written by on

Chcesz tworzyć moduły dla PrestaShop lub zmienić sposób działania platformy? Następnie musisz wiedzieć o hooks PrestaShop.

Hooks - niezbędne narzędzia, które pozwalają dostosować PrestaShop bez edycji jego rdzenia.
Chcielibyśmy przedstawić Państwu koncepcję haków i jak ich prawidłowo używać z PrestaShop 1.6, 1.7 i najnowszą wersją - PrestaShop 8. Odkryjesz, jak:

  • Pojawia się więcej szczegółów w bloku haka.
  • Uruchom skrypt za pomocą metody hakowania.
  • Zaprojektuj swoje dane wyjściowe za pomocą szablonu haka.
  • Połącz hak z bieżącym motywem.

Dowiesz się również, jak pozycjonować, opisywać, instalować, odinstalowywać i ustawiać domyślną wartość haków.

Czym są hooks w PrestaShop 1.7 i PrestaShop 8?

Definicja haków

W opisie PrestaShop hooki to predefiniowane lokalizacje w obrębie platformy, w których można wstawić własny skrypt lub moduły. Gdy hak jest wywoływany lub wykonywany, uruchamiany jest również skrypt lub moduł skojarzony z tym hakiem.

Lista haków dostępnych w PrestaShop.

PrestaShop oferuje szeroki wybór dostępnych hooks. W zależności od wersji platformy lista może być inna.

Aby wyświetlić listę haków dostępnych w PrestaShop, przejdź do dokumentacji.

Możesz również odwiedzić zakładkę Pozycje wyświetlaną w Panelu administracyjnym w lewej kolumnie, aby zobaczyć haki przechowywane w bazie danych.

Jak działają hooks w PrestaShop?

Kiedy hak jest wywoływany lub wykonywany, PrestaShop szuka dowolnego powiązanego modułu lub kodu i, jeśli jest obecny, uruchamia go. Hooks są skutecznie używane do edycji lub dodawania zawartości określonej strony lub elementu.

Na przykład hak umożliwia dodanie obrazu do nagłówka lub wyświetlenie produktu w stopce strony.

Jak używać hooks?

Jak stworzyć hook?

Utworzenie haka w PrestaShop 1.7 lub 8 wymaga manipulowania kodem PHP. W nowym lub istniejącym module utwórz hak, definiując go w tablicy:

$this->registerHook('actionValidateOrder');

Gdzie "actionValidateOrder" jest nazwą haka. Po zdefiniowaniu haka można dołączyć do niego funkcję:

Używamy tego haka wewnątrz naszego modułu DocumenThemix .

Jak zaktualizować hook?

Aktualizacja haka wymaga zmodyfikowania modułu skojarzonego z tym punktem zaczepienia. Aby edytować hak w pliku konfiguracyjnym modułu, zlokalizuj go i wprowadź wymagane modyfikacje skojarzonej funkcji.

Jak skomentować hook?

Po prostu dodaj komentarz nad skryptem powiązanym z hakiem. 

Czasami możesz zapomnieć, co robi hak lub dlaczego go tam umieściłeś. Nie martw się, wszyscy tam byliśmy.

Dlatego możesz dodawać komentarze do swoich hooks, aby pobudzić pamięć lub wyjaśnić swój geniusz innym programistom, którzy mogą natknąć się na Twój fragment.

Zaufaj nam, docenią to.

Przykłady haków: Wyświetlanie i wysyłanie wiadomości e-mail.

Jak wyświetlić moduł za pomocą haków?

Załóżmy, że masz moduł niestandardowy, który wyświetla listę producentów w biurze frontowym. Aby wyświetlić ten moduł, możesz go wstawić za pomocą haka "displayHome":

$this->registerHook('displayHome');

Następnie można dołączyć moduł za pomocą następującej funkcji:

Jak wyświetlać produkty?

Możesz użyć hooka "displayProductAdditionalInfo", aby wyświetlić informacje o produkcie:

$this->registerHook("displayProductAdditionalInfo");

Do dołączenia informacji można użyć następującej funkcji:

public function hookDisplayProductAdditionalInfo($params)
{
   Wyświetl informacje o produkcie tutaj
}

Jak wysłać wiadomość e-mail za pomocą hooks?

Hook "actionEmailSendBefore" może służyć do zmiany treści wiadomości e-mail przed jej wysłaniem:

$this->registerHook('actionEmailSendBefore');

Można do tego użyć następującej funkcji:

public function hookActionEmailSendBefore($params)
{
   // Twoja funkcja zmiany treści wiadomości e-mail tutaj
}

Zaawansowany w zakresie haków PrestaShop ze sterownikiem i modułami.

Jak działają haki ze sterownikami w PrestaShop?

W PrestaShop kontrolery obsługują routing stron i służą jako zaplecze platformy. Haki mogą służyć do zmiany zachowania lub zawartości kontrolera. Na przykład hak "displayAdminOrder" służy do edycji zawartości strony zamówienia administracyjnego PrestaShop .

Jak zezwolić modułom na modyfikację haka?

Moduły w PrestaShop mają możliwość edycji lub rozszerzania haków. Pozwala to na większą personalizację i elastyczność.

Użyj następującego skryptu:

$this->hooks_executed[nazwa_$hook] = true;
Hook::exec($hook_name, $params, $this->id_module);

Jak przedłużyć haki w PrestaShop za pomocą modułu?

Najpierw musisz utworzyć własny hak w pliku konfiguracyjnym modułu z nazwą hooka:

$this->registerHook('myCustomHook');

Następnie można zdefiniować zachowanie lub zawartość tego haka w następującej funkcji:

public function hookMyCustomHook($params)
{
   Wyświetlanie niestandardowej zawartości tutaj
}

Cóż, to tyle na temat naszego podsumowania hooks! To wszystko na razie, ludzie. Nauczyłeś się podstaw haków i tego, jak sprawić, by działały dla Ciebie.

Teraz idź tam i podłącz swój sklep PrestaShop z niesamowitymi dostosowaniami.

Pamiętaj, aby zapoznać się z dokumentacją i panelem konfiguracji dla konkretnej wersji PrestaShop, aby uzyskać pełną listę dostępnych Hooks PrestaShop.