Un pic despre jetoanele
Mai multe variante de lucru cu jetoane vor fi descrise aici. Tokenul oferă celui de-al treilea modul cel mai popular de Token. Jetoane - un cuvânt special încadrat între paranteze pătrate ( „[“, „]“), care, în unele cazuri, poate fi înlocuit pe sensurile. De exemplu, dacă instalați cel de-al patrulea cel mai popular modul pathauto. apoi admin „Home» Administrare »Configurare» căutare și metadate »aliasuri URL“ (admin / config / căutare / cale / modele) pot fi folosite jetoane pentru moduri de a genera chelovekochitabelnyh (alias-uri) la paginile:
Pentru a obține o listă de jetoane, trebuie doar să dați clic pe linkul Răsfoiți jetoanele disponibile și se va deschide o fereastră pop-up.
Pentru a fi utilizat ca o modalitate de a insera titlul paginii este suficient de jetoane [nod: titlu] în șablonul de cale mod adecvat pentru tipul de material.
Crearea jetoanelor proprii
Să presupunem că jetoanele existente, indiferent de motiv, nu se potrivesc și trebuie să creați propriul token. Pentru a face acest lucru, trebuie să creați un modul propriu și să implementați două cârlige:
- hook_token_info - descrie o listă cu jetoanele disponibile
- hook_tokens - înlocuiește tokenul de date în momentul utilizării
Pentru a găsi și a înlocui programatic token-urile cu date în text, este suficient să folosiți funcția token_replace ($ text). unde textul $ este orice text în care pot fi token-urile (sunt disponibile modalități mai complexe de utilizare a acestei funcții, consultați documentația).
Deci, deja avem exemplul modulului. acum aveți nevoie pentru a pune în aplicare cârlige. Pentru a clarifica ceea ce este relevant, vom gândi la o legendă. Să presupunem:
Avem un site web care vinde anumite funcționalități de pe site-ul său și folosește roluri ca produse. Dacă utilizatorul a cumpărat produsul, atunci i se atribuie un rol. Site-ul are o pagină, cu carduri de produs, unde utilizatorii ar trebui să vadă legăturile la achiziția produsului, dacă nu au un rol asociat acestui produs. În caz contrar, ar trebui să vadă cuvântul "Achiziționat", ceea ce înseamnă că acest produs a fost deja cumpărat.
Implementarea hook_token_info
Acest cârlig "îi spune" lui Drupal, despre un nou simbol pe care îl poate folosi. Noi numim un produs de control. Adăugați codul în fișierul example.module: