magento 2: я хочу отобразить изображение в модуле phtml файла шаблона


21

Я хочу отобразить изображение в файле шаблона модуля. Когда кто-то устанавливает мой модуль, он видит это изображение. Могу ли я хранить свои изображения в каталоге моего модуля или нет?


Ohoo ankush bhai magento2
Амит Сингх

Ответы:


33

Да, вы можете хранить изображения в веб-каталогах вашего модуля в зависимости от области ваших шаблонов. Путь: поставщик / модуль / вид / {frontend | adminhtml} / web / images /

Затем в ваших * .phtml файлах вы можете отобразить изображение:

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

Если я хочу этот URL в помощнике, как я могу получить его? или в файле js?
Нитеш

В помощнике вы можете ввести \Magento\Framework\View\Result\PageFactoryкласс в свой конструктор, а $pageFactoryзатем вызвать $pageFactory->getViewFileUrl()метод. Для файлов JS я понятия не имею, как вы можете получить его.
Мирослав Петров


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'); ?>"
        }
    }
}

Вы должны использовать скрипт инициализации виджета magento, чтобы запустить свой javascript с опцией «imagename». Этот метод инициализации обычно выполняется в файлах phtml. Мой код предполагает, что ваше изображение находится в Vendor / Module / view / {frontend | adminhtml} / web / images /

Для получения дополнительной информации вы можете увидеть документацию magento 2. http://devdocs.magento.com/guides/v2.1/javascript-dev-guide/javascript/js_init.html

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.