Ich habe eine benutzerdefinierte Seite zum Abrufen von Produkten erstellt. Ich habe alle Informationen erhalten, aber wie man den vollständigen Bildpfad erhält. Ich benutze getImage (), es zeigt nur das Bild, wie man den vollständigen Pfad erhält.
<a href="<?php echo $this->getBaseUrl().$_item->getUrlKey();?>" title="<?php echo $_item->getName() ?>" class="product-image"><img src="<?php echo $this->getImage();?>" alt="<?php echo $_item->getName() ?>" />
magento-2.1
product-images
paths
User0434
quelle
quelle
Antworten:
Bitte verwenden Sie den folgenden Code in Ihrer Vorlagendatei:
quelle
$ImageType
:$imageBlock->getImage($product, $ImageType)
?Holen Sie sich die Bild-URL mit
oder wenn Sie es als Element ausgeben möchten:
ODER Versuchen Sie Folgendes:
quelle
Eine Sache, die Sie beachten müssen, wenn Sie eine benutzerdefinierte Sammlung von Produkten erhalten, ist, wie Sie die Sammlung filtern, um Werte zu erhalten, die Sie im Front-End aufrufen müssen. Sie sagen, Sie haben eine benutzerdefinierte Seite, daher gehe ich davon aus, dass Sie auch eine benutzerdefinierte Sammlung erstellen.
Wenn Sie dies tun, müssen Sie herausfiltern, was Sie benötigen. In Ihrer Blockklasse benötigen Sie ungefähr Folgendes:
Beachten Sie, dass wir
$collection->addFieldToSelect('small_image');
als Feld zur Auswahl haben. Wenn Sie dies nicht tun, wird beim Weiterleiten des Aufrufs angetImage()
das Produktobjekt die Bild-URL nicht angezeigt (und dies ist schwer zu erkennen, da die m2-Objekte riesig und schwer zu erkennen sindvar_dump
). Sie würden also den Wert habenNULL
, zurück zu kommen, wenn Sie die Bild-URL aufrufen.Dann können Sie in Ihrer Vorlage Folgendes verwenden:
quelle
Schauen Sie sich auf der Produkt- / Ansichtsseite an, wie es in Magento erreicht wurde
wo
$_imageHelper
ist:quelle
Wenn Sie nur die Bild-URL abrufen möchten, ohne den vollständigen Bild-HTML-Code rendern zu müssen und ohne mehrere Blöcke aufzurufen, haben Sie folgende Möglichkeiten:
quelle