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. Мій код передбачає, що ваше зображення знаходиться у постачальнику / модулі / перегляд / {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.