Puncte:0

Cum să primiți elemente de meniu în șablonul Twig ca matrice/obiect?

drapel gb

Trebuie să primesc (de exemplu, după numele mașinii de meniu) și să operez datele despre elementele de meniu pentru a le utiliza în șablonul Drupal Twig, cum ar fi:

<ul>
{% for item in items %}
    <li><a href="{{ item.url }}">{{ item.title }}</a></li>
{% endfor %}
</ul>

Dar nu găsesc informații despre cum să fac asta.

Singurul lucru pe care l-am găsit este ca

{% import _self ca meniuri %}
{{ menus.menu_links(articole, atribute, 0) }}
{% macro menu_links(items, attributes, menu_level) %}
...

Dar nu înțeleg cum să folosesc un astfel de cod. De exemplu, unde este specificat numele aparatului de meniu? Il pot folosi in header.html.twig sau numai în menu.html.twig? etc...

drapel ru
1) Variabilele disponibile sunt ÎNTOTDEAUNA limitate la sugestia de șablon Twig respectivă, nu puteți obține elemente de meniu individuale, de ex.`head.html.twig` (și acest lucru este valabil pentru fiecare șablon și pentru fiecare variabilă) 2) Citiți [docs](https://twig.symfony.com/doc/2.x/tags/macro.html) 3 ) Instalați [Twig Tweak module](https://www.drupal.org/project/twig_tweak) și apoi faceți un `{{ dd(_context) }}` pentru a efectua o var_dump a tuturor variabilelor disponibile în acel șablon.
Kevin avatar
drapel in
Vă voi economisi timp, nu aveți nevoie de nume de mașini de meniu în twig, deoarece puteți crea un fișier twig cu un model de denumire specific care va fi întotdeauna folosit pentru anumite meniuri după numele mașinii lor.
stckvrw avatar
drapel gb
@Kevin, mi-am numit șablonul ca `menu--main.html.twig` (principal este numele mașinii meniului meu), plasat în fișier codul din `core/modules/system/templates/menu.html .twig` și a inclus fișierul în `header.html.twig`. Dar meniul încă nu este redat pe pagină. Ce s-a întâmplat?
Kevin avatar
drapel in
După cum spune primul comentariu, nu puteți să includeți fișiere șablon astfel încât să „funcționeze”. Trebuie să plasați blocul de meniu în regiunea corectă a temei pentru ca meniul să fie randat.

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.