magento 2: Quero exibir uma imagem no arquivo phtml do modelo de módulo


21

Quero exibir uma imagem no arquivo de modelo do módulo. Quando alguém instala meu módulo, ele pode ver essa imagem. Posso armazenar minhas imagens dentro do diretório do módulo ou não?


Ohoo ankush bhai magento2
Amit Singh

Respostas:


33

Sim, você pode armazenar imagens nos diretórios da web do módulo, dependendo da área dos seus modelos. O caminho é: Fornecedor / Módulo / visualização / {frontend | adminhtml} / web / images /

Em seus arquivos * .phtml, você pode exibir a imagem:

<img src="<?php echo $this->getViewFileUrl('Vendor_Module::images/image.png'); ?>" />

Se eu quiser esse URL no helper, como posso obtê-lo? ou no arquivo js?
Nitesh

No auxiliar, você pode injetar \Magento\Framework\View\Result\PageFactoryclasse no seu construtor como $pageFactorye chamar o $pageFactory->getViewFileUrl()método. Para arquivos js, não tenho idéia de como você pode obtê-lo.
Miroslav Petroff


0
<script type="text/x-magento-init">
{
    <?php /* this defines the target of the widget */ ?>
    "#target_id": {
        <?php /* this defines the widget */ ?>
        "image.widget.name": {
            "imagename" : "<?php echo $this->getViewFileUrl('Vendor_Module::images/image.png'); ?>"
        }
    }
}

Você usaria o script de inicialização do widget do magento para iniciar seu javascript com a opção "imagename" definida. Essa técnica de inicialização geralmente é feita em arquivos phtml. Meu código pressupõe que sua imagem está em Fornecedor / Módulo / view / {frontend | adminhtml} / web / images /

Para mais informações, você pode ver a documentação do magento 2. http://devdocs.magento.com/guides/v2.1/javascript-dev-guide/javascript/js_init.html

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.