Să începem cu asta:
Cele mai multe exemple pentru furnizorul de context și pluginuri care consumă context
valorile operează numai pe valori individuale.
Deși este adevărat, recunoașteți că „valoarea unică” furnizată este un obiect, nu un tip primitiv. În cazul furnizorului de context de grup, acea „valoare unică” este un obiect Entitate de tip „grup”. Entitatea în sine conține toate datele obișnuite - id, etichetă, descriere, data creării, autor, câmpuri de bază etc. Așa că este greșit să ne gândim la el ca un singur număr.
Pentru a furniza o serie de valori, trebuie să returnați un obiect care reprezintă o structură de date în loc de o Entitate. API-ul de bază Typed Data definește o varietate de tipuri de date, dintre care tipul Hartă este probabil cel mai bun pentru scopul dvs.Map deține o colecție de valori, similară cu o matrice asociativă familiară în PHP.
Deci, schița soluției este să vă creați propriul furnizor de context prin copierea furnizorului de context al grupului existent, să vă modificați copia astfel încât, în loc să creați o definiție a contextului entității, să creați o definiție a contextului hărții, apoi să adăugați valorile pe care doriți să le furnizați. Hartă.
Dacă aveți nevoie de mai multe funcționalități, vă puteți crea propriul tip de date (recomand să subclasați Map pentru aceasta) și să furnizați un obiect din acel tip de date în loc de o Entitate sau o Hartă.
Puteți găsi un exemplu scurt despre cum să vă scrieți propriul furnizor de context aici:
https://www.drupal.org/docs/contributed-modules/rules-essentials/for-developers/providing-global-context-variables