Puncte:1

De ce este Șablonul -content-add-list.html.twig nu este utilizat?

drapel fi

Am generat o entitate de conținut personalizată prin Consola Drupal. Are pachete. Aș dori să personalizez ecranul la care ajungeți când adăugați o nouă astfel de entitate - ecranul care afișează lista de pachete, pentru a face clic pe tipul pe care doriți să îl adăugați.

Când am generat entitatea, au fost create o grămadă de fișiere șablon, inclusiv unul numit <my_entity>-content-add-list.html.twig. Sunt sigur că acest lucru are scopul de a suprascrie șablonul de bază numit entity-add-list-html.twig. Cu toate acestea, modificările pe care le fac nu au efect și, punând twig în modul de depanare și vizualizând sursa, pot vedea că nu este suprascrisă.

Trebuie să adaug un cârlig de sugestii de teme? Dacă da, care ar fi numele funcției? Simt că trebuie să-mi lipsească ceva. Având în vedere că consola a generat acel șablon, sunt surprins că nu este utilizat automat. Dar cu siguranță trebuie să existe o modalitate simplă de a-i spune lui Drupal să-l folosească.

EDIT: Am găsit cum să numesc funcția: este mymodule_theme_suggestions_entity_add_list. Dar numele de mașină al entității nu se află nicăieri în matricea $variables la care pot ajunge cu ușurință. Mă uit la analizarea traseului pentru a-l scoate, ceea ce pare destul de hacker

Puncte:0
drapel fi

Așa că am ajuns acolo până la urmă (numele mașinii entității fiind oc_activitate:

funcția opencase_entities_theme_suggestions_entity_add_list(matrice $variabile) {
  $nume_rută = \Drupal::routeMatch()->getRouteName();
  $sugestii = []; 
  dacă ($route_name == "entity.oc_activity.add_page") {
    $suggestions[] = 'oc_activity_content_add_list';
  }
  returneaza $sugestii;
}

Dar se simte prea hacky & hard-coded; se pare că ar trebui să existe o cale mai frumoasă.

De asemenea, fișierul șablon care a fost generat de consolă presupunea că matricea de pachete a fost apelată tipuri când de fapt a fost mănunchiuri. Așa că a trebuit să schimb codul generat de la pentru tip în tipuri la pentru tip în pachete. Pune asta aici în caz că este de folos cuiva...

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.