如何在Magento模块中包含图像?
我希望图像显示在网页上,但包括在Magento模块中如何在Magento模块中包含图像?,magento,Magento,我希望图像显示在网页上,但包括在Magento模块中 我应该把它们放在哪个文件夹里 我如何引用它们?(我需要一个用于模块路径的变量。) 文档、各种外部教程和谷歌搜索都没有提供帮助 我在design/frontend/default/default文件夹下看到的只是etclayoutlocale模板和无处放置图像 我是否将它们放入skin/frontend/default文件夹中?如果是,则在哪里?假设您的模块适用于Magento 1.4+,则您的图像属于/skin/frontend/base/d
design/frontend/default/default
文件夹下看到的只是etc
layout
locale
模板
和无处放置图像
我是否将它们放入skin/frontend/default
文件夹中?如果是,则在哪里?假设您的模块适用于Magento 1.4+,则您的图像属于/skin/frontend/base/default/images/
,理想情况下位于指示模块名称空间和名称的文件夹中,例如名称空间\ U模块
。然后可以通过以下方式引用它们:
- 位于
base/default/CSS/namespace\u module/file.CSS的模块CSS文件
:url(../../images/namespace\u module/image.jpg)
- 模板(或块):
$this->getSkinUrl('images/namespace\u module/image.jpg')
- 任何地方:
Mage::getDesign()->getSkinUrl('images/namespace_module/image.jpg')代码>
仅供参考,/app/
目录下的任何内容都不能通过浏览器直接访问。将图像作为扩展的一部分发送的另一种方法是将其托管在您的Web服务器(或其他人的)上,然后通过URL将其包含在扩展中
如果是这种情况,并且您希望图像显示在基本的管理页面上,那么您只需将html直接放入system.xml(首先转义)。否则,如果要将其包含在模板中,只需将其与img
html标记一起放入即可
这种方法有几个好处:
1) 您可以每月查看Apache日志,查看图像的浏览次数(即有多少人正在安装扩展),还可以从referer HTTP头查看哪些站点也在使用它
2) 当你非常成功的互联网公司被收购时,你可以很容易地在你的Web服务器上更换一个不同的logo.jpg,而不必推出新版本的扩展
因此,这不是正确的方法,但它是一种简单的方法,有几个好处。当你说模块的名称空间然后是名称时,这是否意味着我可以在皮肤/frontend/default
文件夹中拥有我的/desbest/shodown
文件夹,并拥有Mage::getDesign()->getSkinUrl
指向那个?这只是偏好的问题。按照惯例,我会说将您的文件夹放在每个资产类型文件夹(css、image、js)中。Mage::getDesign()->getSkinUrl()
将始终指向已配置的主题,该主题将返回到base/default
。我正在制作一个magento模块,而不是主题。因为我使用的是默认主题,所以它总是返回到base/default
。我想在我的模块中包含图像,因此我需要确切地知道如何做到这一点。将我的资产文件夹指向特定主题是无用的,因为使用我的模块的人可能会更改主题。这将使我的模块资产(img/css/js)损坏。我想为模块创建资产文件夹,而不是为主题创建资产文件夹……这就是我在这里解释的。Magento主题资源回退到基本/默认主题,您应该将资源放在该主题下。请参阅Mage_Core_Model_Design_软件包了解skinny。