Puncte:2

Cum să modificați vizualizarea din spatele unui widget selectat într-un formular obișnuit de editare a nodului

drapel sa

Am un câmp entity_reference într-un tip de conținut: field_node_ref

În definiția câmpului, poate face referire la toate nodurile unui anumit tip.

Widgetul folosit pentru acest câmp este a Selectați widget

În funcție de context, în formularul de editare a nodului, aș dori să folosesc diferite vederi pentru a popula #Opțiuni al Selectați widget.

Ex:

Va fi folosit contextul A --> View A

Va fi folosit contextul B --> View B

Contextul este calculat în logica mea de afaceri (vorbesc despre el pentru a arăta că pot fi folosite mai multe vizualizări și apoi nu poate fi codificat în definiția câmpului)

În my_module_form_alter cel #Opțiuni sunt deja populate și nu pot actualiza matricea de widget-uri selectate pentru a le popula cu o vizualizare personalizată. Presupun, trebuie să mă agățăm înainte, dar nu știu cum.

drapel cn
Pe ce se bazează diferitele contexte? Ar putea face diferența pentru cea mai bună abordare
Baud avatar
drapel sa
@Clive: se bazează pe valoarea unui câmp de mașină de stări; care este un alt câmp al nodului editat. În funcție de starea/faza/starea nodului editat, trebuie să folosesc vizualizarea A, B sau C pentru a popula #opțiunile widget-ului meu selectat.
Puncte:2
drapel in

Puteți crea o selecție personalizată pentru un câmp de referință de entitate setând un afișaj de referință de entitate al unei vizualizări ca sursă.

Pentru a face acest lucru, creați o vizualizare cu un afișaj de referință de entitate. Construiți acea vizualizare așa cum o faceți de obicei (selectați ce câmpuri să redați, filtrele de bază, sortările, limitele etc.). Apoi creează un filtru contextual personalizat, luați contextul, injectați clasele de servicii necesare, utilizați logica dvs. de afaceri pe el și apoi aplicați acel filtru contextual în vizualizare.

În cele mai multe cazuri, construiți un filtru împotriva ID-ului entității, iar misiunea filtrului dvs. este să afle dacă acel element ar trebui să fie afișat sau suprimat. Drupal încorporat „Content ID from URL” și „Taxonomie term ID from URL” sunt exemple ale acestor tipuri de filtre. Filtrul dvs. va trebui doar să încorporeze mai multă logică decât doar compararea ID-urilor.

Apoi, pe setările câmpului de referință al entității, modificați Metoda de referință la Vizualizare: Filtrați după o vizualizare de referință de entitate.

Baud avatar
drapel sa
Aceasta este o idee bună. Voi aștepta dacă cineva nu vine cu un sfat mai bun înainte de a accepta acest răspuns. Mă așteptam la un cârlig foarte devreme pentru a schimba cu ușurință vizualizarea utilizată (cum putem face cu un widget de completare automată)

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.