我的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/
我有两个问题:
添加我自己的需要CSS规则以显示我的块附近的图标的适当方法是什么?
即.block-myblock .block-title strong { background-image:url(../images/i_block-myblock.gif); }
直接进入某个文件?使用像addCSS之类的调用或者类似的东西,通过块的代码添加哪个文件或者添加哪个文件?
我存储i_block-myblock.gif
图片的合适途径是什么?
请记住,这完全是在扩展的背景下,而不是对我自己的商店的本地修改。
答案 0 :(得分:4)
这是一个非常好的问题,+1用于保存你的CSS中的Magento措辞! 为了避免混淆可能使用我的模块的开发人员,我个人做的是创建一个专用于模块的皮肤子文件夹。这样,无论是否为未经实验的用户正确运行,都能轻松查找并剪切/粘贴其css规则和图像到正确的主题文件夹中。
1-创建文件夹和文件架构
喜欢:
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标准的同时发挥作用,而不是污染现有的主题,并且不会给那些希望完全融合你的皮肤的开发者带来麻烦。