Puncte:0

Cum se transmite ID-ul paragrafului din Generatorul de aspect la Vizualizări?

drapel us

Acest lucru este un pic complicat; deci sper ca are sens:

Am o entitate-mamă: Eveniment.Evenimentul are un câmp Paragraf: Sesiuni (tip de paragraf: Sesiune).

Folosesc Layout Builder pentru a formata modul de vizualizare Conținut complet al evenimentului. În layout adaug o vizualizare (paragraf) care listează paragrafele Sesiunii ca Teasers (modul de vizualizare al Sesiunii) cu un filtru contextual de Paragraf: ID părinte. Toate acestea funcționează conform așteptărilor.

Apoi am setat modul de vizualizare Session teaser pentru a utiliza Layout Builder. Configurați o secțiune LB și adăugați câteva câmpuri ale Paragrafului. Acest lucru funcționează, de asemenea, conform așteptărilor. Ceea ce înseamnă că prin toate acestea, Layout Builder știe pentru ce paragraf ar trebui să afișeze câmpurile. Excelent.

În continuare (și în cele din urmă) creez o altă vizualizare (paragraf) pentru a crea o listă formatată a unora dintre câmpurile mele Paragraf. Am setat filtrul contextual la Paragraph ID. Când previzualizez introducând PID-ul uneia dintre sesiunile mele, aceasta funcționează conform așteptărilor. Când adaug această vizualizare la aspectul sesiunii mele, desigur, pe pagina Eveniment, vizualizarea nu are rezultate. Acest lucru este trist, dar de așteptat, deoarece nu există nicio modalitate ca Layout Builder să fi trecut ID-ul de paragraf la vizualizare - chiar dacă LB știe ce paragraf să folosească pentru a afișa câmpuri individuale de paragraf.

Este posibil? Există vreun truc pe care l-am ratat care permite vizualizarii „Câmpuri de sesiune” să știe pentru ce paragraf este? Deși cred că aceasta este o întindere; se pare că nu este atât de departe de a știu ce câmp să afișez.

Puncte:0
drapel us

Bănuiesc că unii care vor spune că aceasta nu este o modalitate grozavă de a face asta; dar deocamdată așa am reușit:

În views_query_alter pentru vizualizarea de sus (lista de sesiuni încorporate în aspectul evenimentului) creez o matrice drupal_static a acelei liste de ID-uri de paragraf.

Apoi, în diferitele vizualizări folosite pentru a construi aspectul modului de vizualizare pentru paragraful Session, pur și simplu am array_pop acea matrice drupal_static și $view->setArguments() la următorul id de paragraf din matrice. Vizualizările paragrafului sunt setate să aibă un filtru contextual ca ID de conținut din URL.

Da, știu că aș putea face unele dintre acestea folosind șabloane pentru modul de vizualizare a paragrafelor, dar Views îmi oferă o mulțime de instrumente pentru formatarea datelor de câmp, care altfel ar fi dureros să le construim. De exemplu, câmpurile în cauză aici au formatoare statice de hărți Google îngropate într-un câmp pop-up de vizualizări. Ușor de adunat într-o vizualizare.

liquidcms avatar
drapel us
Am mai mult de o vizualizare pentru a aduna elemente pentru aspectul meu paragraf; așa că va trebui să rezolv o modalitate grozavă de a gestiona matricea de ID-uri. Array_pop-ul pe care îl am rulează acum pe fiecare vizualizare, așa că nu primesc toate codurile disponibile pentru fiecare vizualizare. Destul de ușor de remediat totuși.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.