Puncte:1

Preluați și combinați valorile din câmpurile imbricate: prezentați toate creditele pentru drepturi de autor într-un singur bloc

drapel jp

Am un tip de conținut care utilizează câmpuri media și folosesc Paragrafe care au și câmpuri media.

O pagină tipică ar putea arăta astfel:

  • nodul
    • field_media1 (o valoare aici)
      • field_copyright
      • field_img
    • field_paragraphs (mai multe valori aici)
      • field_media2
        • field_copyright
        • field_img

Aș dori să scot toate redările field_copyright continut in hook_node_preprocess și lipiți-o într-o variabilă care urmează să fie redată în partea de jos a paginii.

Îmi pot imagina că pot face o buclă recursivă în jos prin $node entitate în hook_node_preprocess, dar apoi trebuie să generez matrice de randare pentru toate acele date brute; Se pare că ceea ce vreau să fac este să scot versiunile randate ale acestor câmpuri, astfel încât acestea să nu fie incluse atunci când câmpurile media sunt randate.

Există vreo modalitate prin care pot face asta?

4uk4 avatar
drapel cn
Aș folosi un bloc Views cu un filtru contextual pentru nodul curent.
leymannx avatar
drapel ne
Ce zici de un alt mod de vizualizare atât pentru nod, cât și pentru paragrafe. Și apoi redați nodul curent (poate într-un plugin de bloc personalizat sau într-un bloc Vizualizări) în acel nou mod de vizualizare care redă el însuși paragrafele în noul lor mod de vizualizare?
4uk4 avatar
drapel cn
@leymannx, da, aceasta este o idee grozavă dacă nu te superi să scrii un plugin de blocare.
leymannx avatar
drapel ne
@4k4 â Sau într-un bloc Vizualizări, desigur. Ai fost mai rapid.
drapel jp
Blocul de vizualizări sună greu. Va putea ajunge la acele paragrafe și va smulge câmpuri din tipurile de paragrafe adecvate și le va agrega cu celelalte câmpuri? M-am gândit și la soluția @leymannx, dar cred că prefer să redau eu însumi datele brute decât să configurez un alt set greoi de moduri de vizualizare. M-am întrebat dacă un modul `mymodule_process_node` ar putea face acest lucru, dar nici eu nu am reușit asta încă.
leymannx avatar
drapel ne
Vizualizări bloc, afișează conținut, entitate randată, în modul vizualizare XY. Configurați filtrul contextual pentru a obține ID-ul nodului curent de la URL. Nu este atât de greu. Totul se poate face din interfața de utilizare. Nu este nevoie să codificați. Depinde de tine.
drapel jp
Oh, văd, folosind doar Vizualizări pentru a prezenta entitatea redată. Mulțumiri

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.