În această notă, vom examina procesul de creare a unui bloc programabil utilizând hook-urile (hook_block_info ()). hook_block_view (). hook_block_configure () și hook_block_save () pe exemplul blocului care conține sloganul site-ului, deoarece nu există un astfel de bloc în Drupal 7 în mod implicit.
În acest scop, vom scrie un mic bloc de Slogan (numele mașinii sb).
Mai întâi de toate, creați fișierul sb.info:
Creați, de asemenea, un fișier sb.module gol și activați noul nostru modul.
Pentru a declara un nou bloc, adăugați cârligul hook_block_info () în fișierul sb.module:
hook_block_info () - declară blocurile furnizate de modul și stabilește setările implicite pentru ele.
Acum, să lăsăm site-ul nostru un slogan de testare în secțiunea Informații site-ului:
Următorul pas este să ștergeți memoria cache și să plasați sloganul site-ului în prima regiune a barei laterale:
În acest stadiu, unitatea este localizată în regiune și sloganul site-ului este setat, dar nimic nu va fi afișat deoarece Drupal nu știe ce să trimită la acest bloc. În acest scop, folosim hook_block_view ().
Adăugați următorul cod în fișierul sb.module:
hook_block_view () - returnează conținutul blocului. Parametrul $ delta este identificatorul unic al blocului furnizat de hook_block_info () (în cazul nostru este vorba despre site_slogan).
După o altă compensare a cache-ului, vedem afișarea blocului nostru pe site:
În mod implicit, blocurile create în mod programat au aceleași setări ca orice alt bloc: setările de vizibilitate, antetul blocului etc. Dar putem adăuga setări suplimentare. În acest caz, va fi convenabil dacă putem edita sloganul site-ului direct pe formularul de editare al acestui bloc.
În acest scop, folosim hook_block_configure () și hook_block_save.
Adăugați următorul cod în fișierul sb.module:
hook_block_save () - oferă un handler pentru datele care provin dintr-un formular declarat în hook_block_configure (). Parametrii: $ delta - același ca și pentru hook_block_view (). $ edit - conține date care au provenit din forma de configurare a blocului.
De când am anunțat două noi cârlige, curățăm din nou memoria cache și accesați formularul de editare al sloganului Site:
După cum puteți vedea în formular, există un slogan al site-ului adăugat. Apoi, modificați valoarea și salvați formularul.
Sloganul a fost actualizat, astfel încât formularul funcționează corect.
Lista completă a fișierului sb.module: