Como obter o caminho da mídia no Magento 2.1. Eu tentei muitas opções, mas não está funcionando?
Quero exibir a imagem no front-end dentro do arquivo .phtml.
Como obter o caminho da mídia no Magento 2.1. Eu tentei muitas opções, mas não está funcionando?
Quero exibir a imagem no front-end dentro do arquivo .phtml.
Respostas:
você pode obter o caminho da mídia pelo método $ object
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
echo $objectManager->get('Magento\Store\Model\StoreManagerInterface')
->getStore()
->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
método de fábricas
<?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;
}
}
........
?>
no arquivo phtml
<?php echo $block->getMediaUrl(); ?>
O uso do Object Manager é desencorajado conforme os padrões de codificação do Magento. Em um arquivo de modelo, podemos obter o URL da mídia usando o seguinte código:
$this->helper('\Magento\Cms\Helper\Wysiwyg\Images')->getBaseUrl()
De acordo com a recomendação do Magento, a raiz do documento do seu site deve estar fora do pub
diretório durante o desenvolvimento e deve estar dentro do pub
diretório quando movida para a produção.
Portanto, não podemos codificar o pub
diretório ao obter o URL da mídia nos arquivos de modelo. O código acima fornecerá o URL correto da mídia, independentemente da localização raiz do documento.
Obter caminho da mídia por objectManager
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
echo $objectManager->get('Magento\Store\Model\StoreManagerInterface')
->getStore()
->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
Obter caminho da mídia por injeção de dependência
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;
}
Agora chame a função getMediaUrl()
em phtml
<?php echo $block->getMediaUrl(); ?>
$ this -> _ storeManager-> getStore () -> getBaseUrl (\ Magento \ Framework \ UrlInterface :: URL_TYPE_MEDIA);
Por favor, verifique este código. Isso lhe dará o caminho da mídia.