Actualizat în octombrie 2026.
Asemenea unui ceas elvețian, orice magazin PrestaShop este alcătuit dintr-un număr surprinzător de mecanisme și piese care îi asigură funcționarea zi de zi. Printre ele se numără „hook-urile”, „cârligele” de care se atașează conținutul și logica modulelor care alcătuiesc magazinul. Acest ghid este valabil pentru PrestaShop 8 și 9.
Ce sunt „hook-urile” în PrestaShop?
Un hook este un punct de ancorare din PrestaShop de care un modul își leagă codul pentru a afișa conținut sau a reacționa la un eveniment din magazin, de exemplu pentru a afișa o ofertă pe prima pagină sau pentru a acționa când un client își creează contul. Fiecare hook are un nume, cum ar fi ‘displayHome’, ‘displayFooter’, ‘actionProductAdd’ sau ‘actionCustomerAccountAdd’, iar prefixul indică tipul lui (îl vedem mai jos).
Ca să le vedeți în magazinul dumneavoastră, intrați în back office și deschideți Design > Poziții. Veți vedea lista hook-urilor disponibile și, sub fiecare, modulele asociate, în ordinea în care se execută. Toate modulele din acea listă sunt legate de hook-ul care apare imediat deasupra blocului lor. Dacă vă interesează un singur modul, îl puteți filtra din lista derulantă de sus sau puteți căuta un anumit hook. Iar dacă doriți să vă extindeți magazinul cu funcții noi, aveți la dispoziție colecția noastră de module pentru PrestaShop.
Ce hook-uri puteți folosi depinde și de tema instalată, pentru că fiecare temă decide în ce zone afișează fiecare hook.
Multe hook-uri sunt blocuri vizibile pentru public, dar altele sunt invizibile și servesc doar la executarea unor acțiuni. Implicit, pagina Poziții afișează doar hook-urile în care poate fi poziționat un modul; dacă bifați căsuța pentru afișarea hook-urilor nepoziționabile, vor apărea toate, inclusiv cele invizibile.
Dacă veniți din PrestaShop 1.6, poate vă amintiți de butonul „Live Edit” (editare live), care vă ducea în magazin ca să mutați modulele din mers. Captura din dreapta este din acea versiune. Astăzi totul se face din Design > Poziții.
Tipuri de hook-uri în PrestaShop și cum funcționează
Există două mari grupe de hook-uri, de acțiune (action) și de afișare (display), care se deosebesc prin prefixul numelui.
- Hook-urile de acțiune (action): se declanșează când are loc un eveniment în PrestaShop și nu afișează nimic pe ecran. De exemplu, ‘actionCustomerAccountAdd’ se declanșează când un client își creează contul cu succes, ‘actionValidateOrder’ când o comandă este validată, iar ‘actionProductAdd’ când se creează un produs. Un modul se leagă de ele pentru a reacționa, de exemplu anunțând un alt sistem sau salvând o informație.
- Hook-urile de afișare (display) generează conținut afișat în front office sau în back office: blocuri, coloane, liste de produse sau imagini. Sunt cele mai folosite și apar în aproape fiecare colț al magazinului, cum ar fi ‘displayHome’ (prima pagină), ‘displayFooter’ (subsol), ‘displayShoppingCart’ (coș) sau ‘displayProductAdditionalInfo’ (informații suplimentare pe pagina de produs). Aruncați o privire pe pagina Poziții a magazinului dumneavoastră și veți vedea câte hook-uri vizuale ați adunat.
Cum schimbați poziția unui modul fără să atingeți codul?
Din Design > Poziții puteți urca sau coborî un modul în cadrul hook-ului său cu săgețile sau trăgând de rândul lui și îl puteți asocia altui hook cu opțiunea „Transplantează un modul”, fără să scrieți nicio linie de cod. Țineți cont că unele module sunt pregătite doar pentru anumite hook-uri și că, în unele cazuri, trebuie să le modificați codul pentru a le transplanta. Puteți consulta detaliile în documentația oficială PrestaShop despre poziții (în engleză).
Cum folosește un modul hook-urile? (pentru dezvoltatori)
Un modul se leagă de un hook apelând registerHook(), de regulă la instalare, și definește o metodă publică al cărei nume este „hook” urmat de numele hook-ului. Această metodă primește un array cu informații de context. Un exemplu cu ‘displayHeader’:
public function install()
{
return parent::install()
&& $this->registerHook('displayHeader');
}
public function hookDisplayHeader(array $params)
{
// Aici vine codul modulului tău.
}
Lista completă a hook-urilor disponibile o găsiți în documentația pentru dezvoltatori PrestaShop 9 (în engleză).
Aveți întrebări?
Dacă aveți nevoie de ajutor cu structura de hook-uri a magazinului dumneavoastră sau de un modul la comandă, echipa noastră vă dă o mână de ajutor. La Línea Gráfica suntem experți în dezvoltare PrestaShop: spuneți-ne de ce aveți nevoie prin serviciul nostru de suport PrestaShop.