Cara mendapatkan jalur media di Magento 2.1. Saya mencoba banyak pilihan tetapi tidak berhasil?
Saya ingin menampilkan gambar di front-end di dalam file .phtml.
Cara mendapatkan jalur media di Magento 2.1. Saya mencoba banyak pilihan tetapi tidak berhasil?
Saya ingin menampilkan gambar di front-end di dalam file .phtml.
Jawaban:
Anda bisa mendapatkan jalur media dengan metode $ objek
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
echo $objectManager->get('Magento\Store\Model\StoreManagerInterface')
->getStore()
->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
metode pabrik
<?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;
}
}
........
?>
dalam file phtml
<?php echo $block->getMediaUrl(); ?>
Penggunaan Object Manager tidak disarankan sesuai standar pengkodean Magento. Dalam file template, kita bisa mendapatkan URL media menggunakan kode berikut:
$this->helper('\Magento\Cms\Helper\Wysiwyg\Images')->getBaseUrl()
Sesuai rekomendasi Magento, akar dokumen situs web Anda harus berada di luar pub
direktori selama pengembangan dan harus di dalam pub
direktori ketika dipindahkan ke produksi.
Karenanya kami tidak dapat membuat kode dari pub
direktori saat mendapatkan URL media dalam file templat. Kode di atas akan memberi Anda URL media yang benar terlepas dari lokasi root dokumen Anda.
Dapatkan jalur media dengan objectManager
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
echo $objectManager->get('Magento\Store\Model\StoreManagerInterface')
->getStore()
->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
Dapatkan jalur media dengan Injeksi Ketergantungan
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;
}
Sekarang panggil fungsi getMediaUrl()
dalam phtml
<?php echo $block->getMediaUrl(); ?>
$ this -> _ storeManager-> getStore () -> getBaseUrl (\ Magento \ Framework \ UrlInterface :: URL_TYPE_MEDIA);
Silakan periksa kode ini. Ini akan memberi Anda jalur media.