magento 2: quiero mostrar una imagen en el archivo phtml de plantilla de módulo


21

Quiero mostrar una imagen en el archivo de plantilla del módulo. Cuando alguien instala mi módulo, puede ver esa imagen. ¿Puedo almacenar mis imágenes dentro de mi directorio de módulos o no?


Ohoo ankush bhai magento2
Amit Singh

Respuestas:


33

Sí, puede almacenar imágenes en los directorios web de su módulo dependiendo del área de sus plantillas. La ruta es: Vendor / Module / view / {frontend | adminhtml} / web / images /

Luego, en sus archivos * .phtml, puede mostrar la imagen:

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

Si quiero esa url en ayuda, ¿cómo puedo obtenerla? o en el archivo js?
Nitesh

En helper puede inyectar \Magento\Framework\View\Result\PageFactoryclase en su constructor como $pageFactoryy luego llamar al $pageFactory->getViewFileUrl()método. Para los archivos js no tengo idea de cómo puedes obtenerlo.
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'); ?>"
        }
    }
}

Usaría el script de inicialización del widget de magento para iniciar su javascript con la opción "imagename" definida. Esta técnica de inicialización generalmente se realiza en archivos phtml. Mi código asume que su imagen está en Proveedor / Módulo / vista / {frontend | adminhtml} / web / images /

Para más información, puede ver la documentación de magento 2. http://devdocs.magento.com/guides/v2.1/javascript-dev-guide/javascript/js_init.html

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.