Nu întotdeauna generarea de pagini poate fi limitată de lista de pseudonime sau de catalog. Uneori aveți nevoie de mai mult decât automatizarea încorporată în CMS. Apoi API-ul Drupal vine la salvare. Este vorba de modul de utilizare a acestuia pentru a genera o pagină cu parametrii necesari programabil.
Pentru aceasta, vom învăța cum să ne scriem propriile module pentru Drupal cu preferințe și curtezani!
Să începem cu scrierea structurii modulului. În directorul site / all / modules, creați un dosar cu numele pe care modulul îl va transporta în sistem. Să fie "mymod". Acum, în el vom crea două fișiere de bază, fără de care niciunul din modulele din Drupal nu va funcționa: mymod.info și mymod.module. Prima este o descriere tehnică, a doua este codul modulului în sine.
Conținutul fișierului info va fi ceva de genul:
În general, totul este clar, așa că trecem la fișierul modulului. Acesta conține codul PHP obișnuit.
Pentru a genera pagina, vom folosi funcția Drupal API hook_menu (). El nu va crea doar o pagină nouă, ci va genera și o legătură într-un meniu de navigare!
Cum funcționează toate. Creați un "salut, lume" -stage:
Acum, să descriem funcția de generare de conținut
Aici am folosit funcția încorporată t (), care este responsabilă pentru ieșirea automată a textului în limba engleză.
NOTĂ: de fiecare dată când actualizați modulul, nu uitați să curățați cache-ul Drupal aici admin / config / development / performance.
Acum, pentru orice expresie după expresia slash va fi generată pagina. Cum? Depinde de tine! Aveți dreptul să prescrieți reguli de generare separată pentru fiecare mască!
O descriere completă a caracteristicilor hook_menu () poate fi găsită aici.
Cod inconfundabil pentru tine!
Navigare după înregistrări
Și care este diferența, ce se adaugă - casete de selectare sau intuiții? Aceasta este întotdeauna forma, datele ale căror date sunt introduse în baza de date. Apoi le puteți imprima folosind Drupal (care este mai bine) sau "pe frunte" - o solicitare manuală sql cu setările condițiilor de ieșire.
Și cum ar fi ceva de genul ăsta.