0

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

  1. 我将它们放在哪个文件夹中?
  2. 我如何引用它们?(我需要一个模块路径的变量。)

文档、各种外部教程和谷歌搜索没有提供任何帮助。

我在design/frontend/default/default文件夹下看到的只是etc layout locale template没有放置图像的地方。

我把它们放在skin/frontend/default文件夹里吗?如果有,在哪里?

4

2 回答 2

9

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

  • 模块 CSS 文件位于base/default/css/namespace_module/file.cssurl(../../images/namespace_module/image.jpg)

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

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

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

于 2012-07-01T19:06:45.830 回答
1

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

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

这种方法的几个好处:

1) 您可以每月查看您的 Apache 日志并查看您的图像被查看了多少次(即有多少人正在安装您的扩展程序),并且还可以从referer HTTP 标头中查看哪些站点也在使用它。

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

所以这不是正确的方法,但它是一种简单的方法,有几个好处。

于 2012-07-02T08:23:42.583 回答