我应该在哪里放置块图标和CSS在magento扩展中

时间:2011-02-02 16:29:07

标签: magento magento-1.4

我的magento扩展程序会在侧边栏中添加一个新块(例如poll块)。 我使用与poll块使用的相同的html结构,使块看起来像它是系统的一部分。

<div class="block block-myblock">
   <div class="block-title">
      <strong><span><?php echo $this->__('block title') ?></span></strong>
   </div>...

我知道民意调查中的图标会因为CSS规则而导致apear:

.block-poll .block-title strong { background-image:url(../images/i_block-poll.gif); }

/skin/frontend/base/default/css/widgets.css

返回

我也知道图像本身存储在: skin/frontend/default/default/images/

我有两个问题:

  1. 添加我自己的需要CSS规则以显示我的块附近的图标的适当方法是什么? 即.block-myblock .block-title strong { background-image:url(../images/i_block-myblock.gif); }直接进入某个文件?使用像addCSS之类的调用或者类似的东西,通过块的代码添加哪个文件或者添加哪个文件?

  2. 我存储i_block-myblock.gif图片的合适途径是什么?

  3. 请记住,这完全是在扩展的背景下,而不是对我自己的商店的本地修改。

1 个答案:

答案 0 :(得分:4)

这是一个非常好的问题,+1用于保存你的CSS中的Magento措辞! 为了避免混淆可能使用我的模块的开发人员,我个人做的是创建一个专用于模块的皮肤子文件夹。这样,无论是否为未经实验的用户正确运行,都能轻松查找并剪切/粘贴其css规则和图像到正确的主题文件夹中。

1-创建文件夹和文件架构

喜欢:

  • /皮肤/前端/默认/默认/ [your_module_name] /css/styles.css
  • / skin / frontend / default / default / [your_module_name] / images /(包含所有模块的图片)

2-编辑您的/skin/frontend/default/default/[your_module_name]/css/styles.css

...像往常一样但仅包含与您的模块相关的CSS类,即:

.block-myblock .block-title strong { background-image:url(../images/i_block-myblock.gif); }

3-从模块的布局XML中调用CSS文件

打开,让我们说/app/design/frontend/default/default/layout/[your_module_name].xml 并在第一个打开节点之后添加以下行,如下所示:

<?xml version="1.0"?>
<layout version="0.1.0">
<!-- Code to add -->
 <default>
  <reference name="head">
   <action method="addItem"><type>skin_css</type><name>[your_module_name]/css/styles.css</name><params/></action>
  </reference>
 </default>
<!-- [end] -->
.
.
.
</layout>

这应该在尊重Magento标准的同时发挥作用,而不是污染现有的主题,并且不会给那些希望完全融合你的皮肤的开发者带来麻烦。