In Drupal 7 kann ich dies in einer benutzerdefinierten Feldvorlage tun, um das Alt-Tag eines Bildes zu drucken:
<?php print $item['#item']['alt']; ?>
Und obwohl "item" in Twig / drupal 8-Feldern eine Variable zu sein scheint, kann ich anscheinend nicht dasselbe tun. Ich habe diese ausprobiert:
{{ item.alt }}
{{ item.item.alt }}
Diese funktionieren nicht, aber ich bekomme auch keine Fehler. Ein Blick auf die API gibt mir nicht viel Einblick. Ich habe diesen Kern gesehen, aber auch hier wurde kein Alt-Tag separat gerendert. Mein Bild rendert das Alt-Tag, wie ich es im Code sehen kann.
Antworten:
Die Syntax zum Drucken des Alt-Tags lautet in diesem Fall wie folgt:
Twig in Drupal 8 behandelt Hash-Schlüssel nicht wie
#item
in Render-Arrays sauber. Ein Teil des Problems ist, dass#
dies einen Kommentar in Twig bedeutet, also{{ item.#item.alt }}
nicht funktionieren würde.Es besteht die Möglichkeit, dies mit einer Twig-Erweiterung zu umgehen, um einen Drilldown in Hash-Attribute mit der Syntax zu ermöglichen,
{{ item.item.alt }}
aber ich bin mir nicht sicher, ob jemand daran arbeitet. Ich sollte erwähnen, dass Twig-Erweiterungen auch in Contrib hinzugefügt werden können.quelle
{{ item['#item'].alt }}
funktioniert das bei mir nicht. Stattdessen ist eine andere Lösung von @Hugo in Ordnung{{ item.content['#item'].alt }}
.Ich habe das alt-Attribut meines Feldes mit dieser Zeile gedruckt
{{ item.content['#item'].alt }}
quelle
{{ item['#item'].alt }}
funktioniert das bei mir nicht. Ihre Lösung{{ item.content['#item'].alt }}
funktioniert (ich habe hier eine Diskussion gesehen drupal.org/project/drupal/issues/2160611 )