Ich implementiere eine Knotenvorlage, die ein Bild zweimal verwendet. einmal auf "normale" Weise (dh unter Verwendung des Bildstils, der in der Anzeigekonfiguration des Felds für diesen Ansichtsmodus definiert ist), und der andere ist als CSS-Hintergrundbildeigenschaft.
Ich brauche eines von zwei Dingen:
(idealerweise) eine Möglichkeit, die URL für einen anderen Bildstil desselben Bildes abzurufen.
eine Möglichkeit, die URL für das Bildfeld abzurufen.
Ich kämpfe darum , eine Antwort zu finden dump()
und kint()
mir selbst zu helfen. Beide geben viel zu viel aus (dank eingebetteter Links zu "Eltern" usw.) und scheinen nicht die Informationen zu haben, die ich brauche. Wenn Sie beispielsweise die dump(content.field_image)
Ausgabe betrachten, ist die tatsächliche URL des Bildes nicht vorhanden (woher kommt sie also, sodass sie mit {{ content.field_image }}
?! gerendert werden kann ?). kint()
Auf der anderen Seite stirbt es komplett, wenn ich ihm ein Argument übergebe und die Top-Level-Version wieder viel zu groß ist, um zu navigieren. Das Debuggen war mit phptemplate + xdebug so viel einfacher. (Ja, ich weiß, dass es gut ist, dass Themen die Datenbank nicht löschen können.)
Es gibt eine Antwort auf (1), die impliziert, dass Sie dies nicht tun können , aber ich verstehe nicht, warum ich die vorhandene URL in (2) nicht erhalten kann.
Der erste Teil ist bereits in der verknüpften Frage beantwortet, wo es den Code gibt, wie das geht. Um den zweiten Teil der Frage zu beantworten, können Sie auf das Originalbild im Knotenobjekt zugreifen:
Eine Bemerkung über
content
:In einer Knotenvorlage kann das Bildfeld in
content
nicht gerendert werden. Das Feld enthält die Konfiguration, wie es angezeigt werden soll, und das Feldobjekt, das alle Rohdaten enthält. Später wird dies im Feld, Bildformatierer und Bildvorlagen zusammengestellt. Aus diesem Grund finden Sie die gesuchte URL derzeit nichtcontent
.In der Knotenvorlage können Sie die Felder auf der obersten Ebene des Inhaltsarrays verwenden, z. B. das Bildfeld anzeigen
wie im Ansichtsmodus konfiguriert.
Bearbeiten:
Es gibt einen neuen Filter im Modul Twig Tweak . Jetzt können Sie die URL des Bildstils im Zweig direkt aus einer URL oder URL des Originalbilds generieren:
quelle
{{ content.field_image }}
und nicht vorher? Ich denke auch, dass die URL, die ich aus Ihrem Vorschlag erhalte, die ursprüngliche URL ist - Teil 2 meines Q fragte nach der URL des Bildstils, wie sie im Ansichtsmodus konfiguriert wird. Ist das möglich?.entity
zweimal, erstens, um zur Entität zu gelangen, und zweitens, um zum Bild zu gelangen.{{ node.field_ref.entity.field_image.entity.uri.value }}
Installieren Sie das Twig Tweak-Modul https://www.drupal.org/project/twig_tweak
Und dieses Modul Twig Field https://www.drupal.org/project/twig_field_value
Wenn Sie reguläre Bild-Upload-Feldbilder verwenden, verwenden Sie diese in Ihrer Knotenvorlage:
Wenn Sie ein Entitätsreferenzbild verwenden, verwenden Sie Folgendes:
quelle
image
nachfield_target_entity
auf das Bildfeld der referenzierten Entität verwiesen wird. Möglicherweise müssen Sie es anpassen.file_url(node.field_image.entity.field_referenced_image.entity.uri.value | image_style('thumbnail'))