我想在模块模板文件中显示图像。当有人安装我的模块时,他可以看到该图像。是否可以将映像存储在模块目录中?
Ohoo ankush bhai magento2
—
阿米特·辛格
我想在模块模板文件中显示图像。当有人安装我的模块时,他可以看到该图像。是否可以将映像存储在模块目录中?
Answers:
是的,您可以根据模板的区域将图像存储在模块的Web目录中。路径是: 供应商/模块/视图/ {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文件,我不知道如何获得它。
我喜欢对我的PNG进行base-64编码并内联。我使用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的小部件初始化脚本以定义了“ imagename”选项的方式启动javascript。这种初始化技术通常在phtml文件中完成。我的代码假设您的图片位于供应商/模块/视图/ {frontend | adminhtml} / web / images /
有关更多信息,请参阅magento 2文档。http://devdocs.magento.com/guides/v2.1/javascript-dev-guide/javascript/js_init.html