J'ai créé une page personnalisée pour obtenir des produits. J'ai obtenu toutes les informations mais comment obtenir le chemin de l'image complète. J'utilise getImage (), il montre uniquement à l'image comment obtenir le chemin complet.
<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
la source
la source
Réponses:
Veuillez utiliser le code ci-dessous dans votre fichier modèle:
la source
$ImageType
dans$imageBlock->getImage($product, $ImageType)
:?Obtenez l'URL de l'image avec
ou si vous voulez le sortir comme élément:
OU Essayez ceci:
la source
Une chose que vous devez garder à l'esprit lorsque vous obtenez une collection de produits personnalisée est la façon dont vous filtrez la collection pour avoir des valeurs que vous devez appeler en amont. Vous dites que vous avez une page personnalisée, je suppose donc que vous créez également une collection personnalisée.
Lorsque vous le faites, vous devez filtrer ce dont vous aurez besoin. À l'intérieur de votre classe de blocs, vous aurez besoin de quelque chose comme ceci:
Prenez note que nous avons
$collection->addFieldToSelect('small_image');
un champ à sélectionner. Si vous ne le faites pas, lorsque vous passez l'appel àgetImage()
l'objet produit, l'URL de l'image n'aura pas (et c'est difficile à voir car les objets m2 sont énormes et difficiles à atteindrevar_dump
). Vous vous retrouvez donc avec une valeur deNULL
retour lorsque vous appelez l'URL de l'image.Ensuite, dans votre modèle, vous pouvez utiliser:
la source
Découvrez comment cela a été réalisé dans Magento sur la page produit / vue
où
$_imageHelper
est:la source
Si vous souhaitez uniquement obtenir l'URL de l'image sans avoir à restituer le code HTML complet de l'image et sans appeler plusieurs blocs, vous pouvez procéder comme suit:
la source