Magento'da medya yolu nasıl elde edilir 2.1. Çok seçenek denedim ama çalışmıyor?
Görüntüyü ön uçta .phtml dosyası içinde görüntülemek istiyorum.
Magento'da medya yolu nasıl elde edilir 2.1. Çok seçenek denedim ama çalışmıyor?
Görüntüyü ön uçta .phtml dosyası içinde görüntülemek istiyorum.
Yanıtlar:
$ object yöntemi ile medya yolu alabilirsiniz
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
echo $objectManager->get('Magento\Store\Model\StoreManagerInterface')
->getStore()
->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
fabrikalar yöntemi
<?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;
}
}
........
?>
içinde phtml dosyası
<?php echo $block->getMediaUrl(); ?>
Nesne Yöneticisinin kullanımı Magento'nun kodlama standartlarına göre önerilmez. Bir şablon dosyasında, medya URL'sini aşağıdaki kodu kullanarak alabiliriz:
$this->helper('\Magento\Cms\Helper\Wysiwyg\Images')->getBaseUrl()
Magento'nun tavsiyesine göre, web sitenizin belge kökü pub
geliştirme sırasında dizinin dışında olmalı pub
ve üretime geçtiğinde dizinin içinde olmalıdır .
Bu nedenle pub
, şablon dosyalarında medya URL'si alırken dizini kodlayamayız. Yukarıdaki kod, doküman kök konumunuzdan bağımsız olarak size doğru medya URL'sini verecektir.
Ortam yolunu objectManager ile alın
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
echo $objectManager->get('Magento\Store\Model\StoreManagerInterface')
->getStore()
->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
Bağımlılık Enjeksiyonu ile medya yolunu alma
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;
}
Şimdi işlevi çağırmak getMediaUrl()
içinde phtml
<?php echo $block->getMediaUrl(); ?>
$ this -> _ storeManager-> getStore () -> getBaseUrl (\ Magento \ Framework \ UrlInterface :: URL_TYPE_MEDIA);
Lütfen bu kodu kontrol edin. Size medya yolu verecektir.