Comment obtenir le chemin multimédia dans Magento 2.1. J'ai essayé beaucoup d'option mais ça ne marche pas?
Je veux afficher l'image en front-end dans un fichier .phtml.
Comment obtenir le chemin multimédia dans Magento 2.1. J'ai essayé beaucoup d'option mais ça ne marche pas?
Je veux afficher l'image en front-end dans un fichier .phtml.
Réponses:
vous pouvez obtenir le chemin du média par la méthode $ object
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
echo $objectManager->get('Magento\Store\Model\StoreManagerInterface')
->getStore()
->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
méthode des usines
<?php
namespace Namespace\Modulename\Block;
use Magento\Framework\ObjectManagerInterface;
class Banners extends Template
{
protected $objectManager;
public function __construct(
.......
ObjectManagerInterface $objectManager
...) {
...........
$this->objectManager = $objectManager;
...............
}
public function getMediaUrl(){
$media_dir = $this->objectManager->get('Magento\Store\Model\StoreManagerInterface')
->getStore()
->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
return $media_dir;
}
}
........
?>
dans le fichier phtml
<?php echo $block->getMediaUrl(); ?>
L'utilisation d'Object Manager est déconseillée selon les normes de codage de Magento. Dans un fichier modèle, nous pouvons obtenir l'URL du média en utilisant le code suivant:
$this->helper('\Magento\Cms\Helper\Wysiwyg\Images')->getBaseUrl()
Conformément à la recommandation de Magento, la racine du document de votre site Web doit se trouver à l'extérieur du pub
répertoire pendant le développement et elle doit être à l'intérieur du pub
répertoire lorsqu'elle est déplacée en production.
Par conséquent, nous ne pouvons pas coder en dur le pub
répertoire lors de l'obtention de l'URL du média dans les fichiers de modèle. Le code ci-dessus vous donnera l'URL de média correcte quel que soit l'emplacement racine de votre document.
Obtenir le chemin multimédia par objectManager
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
echo $objectManager->get('Magento\Store\Model\StoreManagerInterface')
->getStore()
->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
Obtenir le chemin d'accès au média par injection de dépendance
protected $_storeManager;
public function __construct(
...
\Magento\Store\Model\StoreManagerInterface $storeManager,
...
) {
...
$this->_storeManager = $storeManager;
...
}
public function getMediaUrl()
{
$mediaUrl = $this->_storeManager
->getStore()
->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
return $mediaUrl;
}
Appelez maintenant la fonction getMediaUrl()
en phtml
<?php echo $block->getMediaUrl(); ?>
$ this -> _ storeManager-> getStore () -> getBaseUrl (\ Magento \ Framework \ UrlInterface :: URL_TYPE_MEDIA);
Veuillez vérifier ce code. Cela vous donnera un chemin médiatique.