Nu uitați să luați jetoanele

Nu uitați să luați jetoanele

Adesea, cea mai importantă parte a site-ului este utilizatorii acestuia. Sunt personalități unice care formează baza comunităților prospere. Prin urmare, este vital să sprijiniți utilizatorii și să faceți conținutul site-ului predictibil și personalizat.







Una dintre cele mai mari dificultăți cu care trebuie să ne confruntăm este problema informațiilor personalizate pentru utilizatori, fără a introduce o mulțime de cod repetat peste tot. De asemenea, este important să puteți scoate cu ușurință date unice pe șiruri de caractere pentru a le afișa ulterior utilizatorilor.

Din fericire, Drupal are o metodă convenabilă de introducere a variabilelor în conținut utilizând modulul Token. Spre deosebire de siruri de caractere de înlocuire simplu, modulul Indicativul oferă dezvoltatorilor o metodă comună de șiruri de lucru care pot fi utilizate în diferite părți ale sistemului. Se integrează cu ușurință cu alte module și reduce cantitatea totală de conținut pe care dezvoltatorul ar trebui să picteze pentru a crea un site web personalizat.

Traduceți acest!

Înainte de a intra în modulul Token, este important să înțelegeți rolul acestuia în ecosistemul Drupal. În Drupal, există mai multe metode de înlocuire a șirurilor de caractere de care aveți nevoie, în funcție de situație. Cea mai comună dintre acestea este sistemul de traducere încorporat în Drupal.

Sistemul de traducere este foarte simplu și se aplică aproape complet prin funcția t (). De exemplu, dacă dorim să afișăm utilizatorului un mesaj de întâmpinare translatat, putem face acest lucru:

Imediat ce vom crea fișiere de traducere corecte pentru limba utilizatorului, această linie va fi tradusă. Cu toate acestea, există o problemă. Pe lângă limbă, nu există nici o personalizare. Din fericire, funcția de traducere poate înlocui linii!

Aici vedem primul nostru simbol (@user). Această linie va fi în cele din urmă înlocuită cu numele de utilizator. Simbolul de la începutul simbolului indică metoda de filtrare utilizată la introducerea unui șir (ajută la scrierea codului sigur).

  • !variabilă - șirul este introdus ca atare;
  • @variable - șirul trece prin check_plain (), HTML este convertit în text;
  • % variable - linia trece prin check_plain () și theme_placeholder (), HTML este convertit în text, totul este în etichete.
Dezvoltatorul atent va observa încă o restricție în această metodă: nu putem introduce linii în singular și plural. Dar în Drupal există o metodă care vă permite să formatați cu ușurință șiruri de caractere în plural folosind funcția format_plural (). În funcția format_plural () @count este o variabilă specială, este întotdeauna utilizată pentru a înlocui numărul trecut cu primul argument.





Merită menționat faptul că aceste funcții ar trebui utilizate numai pentru traducerea interfeței. Valorile traduse trebuie să fie statice (adică nu sunt introduse de utilizator). Oricum, aceste funcții fac posibilă scrierea modulelor traduse în alte limbi în paralel cu șirurile utilizatorului.

Modul API pentru modulul Token

Modulul Token API este un instrument excelent pentru înlocuirea dinamică a textului. Acesta permite dezvoltatorilor să înlocuiască șirurile (numite jetoane) cu date variabile în text. Mulți sunt deja familiarizați cu un tip de jetoane care poate fi observat în modulul de utilizator inclus în sursa standard Drupal. Modulul utilizator aplică în mod extensiv token-uri atunci când generează mesaje personalizate de e-mail pentru utilizatori. De exemplu:

Din păcate, deoarece modulul token nu este inclus în kernel-ul Drupal (înainte de Drupal 7), modulul utilizatorului nu poate profita de toate avantajele sale. Cum arata o bucata de text cand folosesti token?
Vom folosi același exemplu de la utilizatorul modulului:

Deci, de ce (în afară de eficiența de cod al ideii) pentru a face un API separat pentru ceva aparent foarte nesemnificativ? La urma urmei, PHP are deja funcții de înlocuire a șirului încorporat și puteți introduce întotdeauna variabile în șiruri de caractere. Răspunsul este că înlocuirea șirurilor în Drupal este mult mai avansată decât înlocuirea pur și simplu cu o variabilă. Folosind această metodă, veți obține câteva avantaje importante:

  • Standardizare - modulul token oferă o modalitate standard de a crea jetoane ușor de înțeles de către utilizatorul final.
  • Portabilitate - API-ul token permite dezvoltatorilor să-și definească propriile jetoane, care pot fi apoi folosite în alte module și să utilizeze alte jetoane în modulele lor.
  • Ajutor - API-ul token furnizează liste cu toate jetoanele disponibile pe site. Acest lucru reduce nevoia de duplicare a codului și crearea de token-uri identice în locuri diferite.
Folosirea jetoanelor în cod

Vorbiți destul, e timpul să vă respingeți mâinile. Ca și în cazul multor alte API-uri, există un motiv excelent pentru utilizarea jetoanelor API: este extrem de ușor. Să presupunem că doriți să înlocuiți părți ale unui text cu valori dintr-un obiect nod:
sau în cazul mesajului nostru către utilizator

Și asta este! Modulul jeton este bun pentru faptul că toate token-uri care sunt considerate la nivel mondial (cum ar fi site-ul URL-ul), va fi disponibil indiferent de ce fel de obiect este folosit pentru a înlocui token-uri.

Simbolul meu

Ce se întâmplă dacă aveți datele dvs. în modul și doriți să faceți un semn pentru ei?
Acest lucru este, de asemenea, foarte simplu. Să presupunem că aveți un modul în care aplicați înlocuirea tokenului pentru părți ale unui mesaj de poștă electronică. Folosiți doar hook_token_values.

Mai multe jetoane noi sunt acum disponibile utilizatorilor. Pentru a oferi sugestii despre ele este, de asemenea, foarte simplu - folosind hook_token_list.

Asta e, băieți.

Asta e tot. După cum puteți vedea, puteți folosi de înlocuire jeton este foarte ușor și rapid. Dacă doriți să pătrundă mai adânc, există unele lucruri suplimentare pentru a explora (cum ar fi modificarea jetoanelor create în alte module) și documentația API este atașată la nota inițială (nu este nimic, în modulul de jetoane README.txt o mai bună descriere - un culoar ..).

Modulul token este inclus în miezul Drupal 7, ceea ce înseamnă că au suportat token-uri chiar din cutie. Yohoho! După cum puteți vedea, suntem cu toții încântați de lansarea viitoare :)

În ciclul "20 API timp de 20 de zile" vor fi mai multe note. Nu merge prea departe!







Articole similare

Trimiteți-le prietenilor: