Modificați programatic numele materialului în etichetele titlu și h1, tlito

Să presupunem că doriți să creați materiale în care numele trebuie să fie compus din două câmpuri. Puteți lucra cu etichetele de titlu folosind modulul Titlul paginii, unde puteți seta șabloane cu jetoane pentru eticheta titulară a diferitelor tipuri de pagini, dar nu funcționează cu etichetele h1. Pentru a lucra atât cu titlurile, cât și cu tagurile h1, există un UI de titlu, titlu de suprascriere, dar dacă citiți cu gândire paginile acestor module sau încercați, nu puteți găsi o soluție la această problemă.







În special, titlul paginii nu știe cum să folosească token-urile condiționate (dacă nu este instalat niciun modul special), așa că un șablon ca acesta:

[nod: field_cities] - [nod: titlu] | [site: nume]

poate crea antete de tipul: [node: field_cities] - Vacanțe în Turcia | Călătoria Bon. Adică, dacă în câmpul City nu este completat niciun termen, atunci titlul paginii se transformă într-o greșeală complet.

Sarcina. pe un anumit tip de material în antetul paginii titlu de afișare tag-ul de câmp și h1 titlul (titlul) și materialul de alt tip de câmp pe termen taxonomie.

Materialul compozit din cele două câmpuri de antet în Drupal se poate face folosind următorul cârlig: MYTHEME_preprocess_page ($ vars) template.php în fișierul temă, care va fi folosit în exemplul nostru. Și este posibil, de asemenea, în alte exemple de hukah _node_view_alter, _preprocess_html.

Când acest script vine la îndemână

De exemplu, creați un produs numit: The Best (Ediția rusă) - și alegeți printre termenii taxonomiei: Serghei Lazarev. Apoi, când produsul este afișat, numele va fi: Serghei Lazarev - Cel mai bun (Ediția rusă).







Astfel, aceste scripturi formează numele în etichetele titile și h1 din diferitele câmpuri de materiale de pe paginile materialelor. și, de asemenea, în paginile Vizualizărilor.

Cârligele 1, 2 și 3

Notă: În prima și a doua exemple, elementele de matrice $ Vars adăugat modulul Titlul paginii, astfel încât să utilizeze 1 și 2 cu cod titlul paginii. Sau puteți rezolva instrucțiunile de atribuire variabile la funcția apel de instrucțiuni drupal_set_title ($ string) așa cum se face în al treilea cârlig.

Al treilea cod nu necesită PageTitle, deci este mai rapid și mai optim. Al treilea cârlig utilizează comanda drupal_set_title () pentru a seta antetul.

Cum se utilizează codurile

Codurile utilizează câmpul orașelor. pe care trebuie să le înlocuiți cu numele mașinii domeniului dvs., cum ar fi taxonomia termenului. Dacă trebuie să vedeți toate câmpurile, activați modulul Devel și introduceți-le la începutul codului:

De asemenea, există un test al tipului de material: tur. De asemenea, puteți să o înlocuiți cu propriile tipuri, care au câmpurile de care aveți nevoie.

Primul cârlig trebuie plasat în fișierul template.php al temei în funcția cu antetul

dacă există o astfel de funcție, lipiți acest cod până la sfârșit, dacă nu există o astfel de funcție, atunci adăugați-l.

Al doilea cârlig views_pre_render (vizualizare $) - pentru a edita anteturile materialelor în Vizualizări. Dacă funcția cu un astfel de titlu este în tema dvs., adăugați-o la sfârșit, dacă nu - inserați codul și numiți-l corect.

Al treilea cârlig trebuie, de asemenea, să fie adăugat la funcția dorită sau copiat complet, prin crearea acestei funcții.

Nu ar trebui să existe două funcții identice în fișierul template.php.

Adăugați la titlul materialului numele termenilor de taxonomie de pe pagina materialului, necesită Titlul paginii

Adăugați la titlul materialului numele termenilor de taxonomie când sunt afișați în Vizualizări, necesită Titlul paginii

Adăugați la titlul materialului numele termenilor de taxonomie pe pagina materială

Înlocuiți variabila orașelor, numele câmpului field_cities și numele materialului de turneu la cele de care aveți nevoie.

Cârligul view_pre_render utilizează câmpurile pe care trebuie să le adăugați, astfel încât codul să funcționeze și să editeze corect numele câmpurilor.







Trimiteți-le prietenilor: