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

如何在Magento模块中包含图像?,magento,Magento,我希望图像显示在网页上,但包括在Magento模块中 我应该把它们放在哪个文件夹里 我如何引用它们?(我需要一个用于模块路径的变量。) 文档、各种外部教程和谷歌搜索都没有提供帮助 我在design/frontend/default/default文件夹下看到的只是etclayoutlocale模板和无处放置图像 我是否将它们放入skin/frontend/default文件夹中?如果是,则在哪里?假设您的模块适用于Magento 1.4+,则您的图像属于/skin/frontend/base/d

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

  • 我应该把它们放在哪个文件夹里
  • 我如何引用它们?(我需要一个用于模块路径的变量。)
  • 文档、各种外部教程和谷歌搜索都没有提供帮助

    我在
    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。