如何在Magento模块中包含图像?

时间:2012-07-01 17:46:46

标签: magento

我希望图像显示在网页上,但包含在Magento模块中。

  1. 我将它们放入哪个文件夹?
  2. 我如何参考它们? (我需要一个模块路径的变量。)
  3. 文档,各种外部教程和Google搜索都没有提供任何帮助。

    我在design/frontend/default/default文件夹下看到的只有etc layout locale template,无处放置图片。

    我是否将它们放在skin/frontend/default文件夹中?如果是这样,在哪里?

2 个答案:

答案 0 :(得分:9)

假设您的模块适用于Magento 1.4+,您的图像属于./skin/frontend/base/default/images/,理想情况下位于指示模块名称空间和名称的文件夹中,例如namespace_module。然后可以通过以下方式引用它们:

  • base/default/css/namespace_module/file.css处的模块CSS文件:url(../../images/namespace_module/image.jpg)

  • 模板(或块):$this->getSkinUrl('images/namespace_module/image.jpg')

  • 任何地方:Mage::getDesign()->getSkinUrl('images/namespace_module/image.jpg');

仅供参考,浏览器直接访问(应该访问)./app/目录下的任何内容。

答案 1 :(得分:1)

将图片作为扩展程序的一部分发送的替代方法是将其托管在您的网络服务器(或其他人的)上,然后通过网址将其包含在您的扩展程序中。

如果是这种情况,并且您希望图像显示在基本管理页面上,那么您只需将html直接放入system.xml(首先将其转义)。否则,如果您将其包含在模板中,只需将其放入img html标记。

这种方法有很多好处:

1)您可以每月查看您的Apache日志,查看您的图像被查看的次数(即安装您的扩展程序的人数),还可以从referer HTTP标头中查看哪些网站正在使用它太

2)当您获得成功的互联网公司时,您可以轻松地在您的网络服务器上交换不同的logo.jpg,而无需推出新版本的扩展程序。

所以这不是正确的方式,但这是一种简单的方法,有很多好处。