Come ottenere il percorso multimediale in Magento 2.1. Ho provato molte opzioni ma non funziona?
Voglio visualizzare l'immagine in front-end all'interno del file .phtml.
Come ottenere il percorso multimediale in Magento 2.1. Ho provato molte opzioni ma non funziona?
Voglio visualizzare l'immagine in front-end all'interno del file .phtml.
Risposte:
è possibile ottenere il percorso multimediale con il metodo $ object
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
echo $objectManager->get('Magento\Store\Model\StoreManagerInterface')
->getStore()
->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
metodo delle fabbriche
<?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;
}
}
........
?>
nel file phtml
<?php echo $block->getMediaUrl(); ?>
L'uso di Object Manager è sconsigliato secondo gli standard di codifica Magento. In un file modello, possiamo ottenere l'URL multimediale utilizzando il seguente codice:
$this->helper('\Magento\Cms\Helper\Wysiwyg\Images')->getBaseUrl()
Come da raccomandazione di Magento, la radice del documento del tuo sito Web dovrebbe trovarsi fuori dalla pub
directory durante lo sviluppo e dovrebbe essere all'interno della pub
directory quando viene spostata in produzione.
Pertanto, non è possibile codificare la pub
directory durante il recupero dell'URL multimediale nei file modello. Il codice sopra ti fornirà l'URL multimediale corretto indipendentemente dalla posizione principale del documento.
Ottieni percorso multimediale da objectManager
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
echo $objectManager->get('Magento\Store\Model\StoreManagerInterface')
->getStore()
->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
Ottieni percorso multimediale tramite Dependency Injection
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;
}
Ora chiama la funzione getMediaUrl()
in phtml
<?php echo $block->getMediaUrl(); ?>
$ This -> _ storeManager-> getStore () -> getBaseURL (\ Magento \ Framework \ UrlInterface :: URL_TYPE_MEDIA);
Si prega di controllare questo codice. Ti darà il percorso dei media.