Cách nhận đường dẫn phương tiện trong Magento 2.1. Tôi đã thử rất nhiều tùy chọn nhưng nó không hoạt động?
Tôi muốn hiển thị hình ảnh ở mặt trước bên trong tệp .phtml.
Cách nhận đường dẫn phương tiện trong Magento 2.1. Tôi đã thử rất nhiều tùy chọn nhưng nó không hoạt động?
Tôi muốn hiển thị hình ảnh ở mặt trước bên trong tệp .phtml.
Câu trả lời:
bạn có thể nhận đường dẫn phương tiện bằng phương thức $ object
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
echo $objectManager->get('Magento\Store\Model\StoreManagerInterface')
->getStore()
->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
phương pháp nhà máy
<?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;
}
}
........
?>
trong tập tin phtml
<?php echo $block->getMediaUrl(); ?>
Việc sử dụng Trình quản lý đối tượng không được khuyến khích theo tiêu chuẩn mã hóa của Magento. Trong tệp mẫu, chúng tôi có thể nhận URL phương tiện bằng mã sau:
$this->helper('\Magento\Cms\Helper\Wysiwyg\Images')->getBaseUrl()
Theo khuyến nghị của Magento, thư mục gốc của trang web của bạn phải nằm ngoài pub
thư mục trong quá trình phát triển và nó sẽ nằm trong pub
thư mục khi được chuyển sang sản xuất.
Do đó, chúng tôi không thể mã cứng pub
thư mục trong khi nhận URL phương tiện trong các tệp mẫu. Đoạn mã trên sẽ cung cấp cho bạn URL phương tiện chính xác bất kể vị trí gốc của tài liệu của bạn.
Nhận đường dẫn phương tiện bằng objectManager
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
echo $objectManager->get('Magento\Store\Model\StoreManagerInterface')
->getStore()
->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
Nhận đường dẫn phương tiện bằng cách tiêm phụ thuộc
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;
}
Bây giờ gọi hàm getMediaUrl()
trong phtml
<?php echo $block->getMediaUrl(); ?>
$ this -> _ storeManager-> getStore () -> getBaseUrl (\ Magento \ Framework \ UrlInterface :: URL_TYPE_MEDIA);
Vui lòng kiểm tra mã này. Nó sẽ cung cấp cho bạn con đường truyền thông.