Я хочу відобразити зображення у файлі шаблону модуля. Коли хтось встановить мій модуль, він може побачити це зображення. Чи можна зберігати свої зображення всередині мого каталогу модулів чи ні?
Я хочу відобразити зображення у файлі шаблону модуля. Коли хтось встановить мій модуль, він може побачити це зображення. Чи можна зберігати свої зображення всередині мого каталогу модулів чи ні?
Відповіді:
Так, ви можете зберігати зображення у веб-каталогах свого модуля залежно від області шаблонів. Шлях: постачальник / модуль / перегляд / {frontend | adminhtml} / web / images /
Потім у файлах * .phtml ви можете відобразити зображення:
<img src="<?php echo $this->getViewFileUrl('Vendor_Module::images/image.png'); ?>" />
\Magento\Framework\View\Result\PageFactory
клас у свій конструктор як $pageFactory
і потім викликати $pageFactory->getViewFileUrl()
метод. Для js-файлів я поняття не маю, як це можна отримати.
Мені подобається, що base-64 кодує мої PNG та вбудовує їх. Я використовую https://www.base64-image.de .
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJ....=">
<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