Я хочу отобразить изображение в файле шаблона модуля. Когда кто-то устанавливает мой модуль, он видит это изображение. Могу ли я хранить свои изображения в каталоге моего модуля или нет?
Я хочу отобразить изображение в файле шаблона модуля. Когда кто-то устанавливает мой модуль, он видит это изображение. Могу ли я хранить свои изображения в каталоге моего модуля или нет?
Ответы:
Да, вы можете хранить изображения в веб-каталогах вашего модуля в зависимости от области ваших шаблонов. Путь: поставщик / модуль / вид / {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. Мой код предполагает, что ваше изображение находится в Vendor / Module / view / {frontend | adminhtml} / web / images /
Для получения дополнительной информации вы можете увидеть документацию magento 2. http://devdocs.magento.com/guides/v2.1/javascript-dev-guide/javascript/js_init.html