0

如何更改每个猫 ID 的 Magento 身体背景?以及将代码放在哪里?

我知道 Cat id 是:

Mage::getModel('catalog/layer')->getCurrentCategory()->getId()

4

2 回答 2

4

你可以很容易地完成类别名称。默认情况下,Magento 会在 body 标签中添加以下内容:

<body class="catalog-category-view categorypath-electronics-cellphones category-cellphones">

因此,您可以定义样式表来处理.category-{$category_name}类而不是 a.category-{$category_id}或类似的。对于下一个出现并编辑您的样式表的人来说,这会更有意义:)

回到您的问题,如果您真的想修改代码并实际使用类别 ID,那么您必须以通常的方式修改类别控制器,并添加:

$this->getLayout()->getBlock('root')->addBodyClass('category-' . $category->getId());

..Mage_Catalog_CategoryController::viewAction()在与添加其他类大致相同的位置。

于 2011-01-27T18:12:18.790 回答
0

这是一种足够灵活的方法,可以让网店所有者与他们的网页设计师一起使用(应用 css 规则)。

场景:您希望类别及其子类别具有相同的背景图像。

1)您将布局更新应用于类别管理器中的父类别:

<reference name=”root”&gt;<action method=”addBodyClass”&gt;<className>caravan-motorhome-lighting</className></action></reference>

2) 将父类别设置为使用父类别设置。

3) 将子类别设置为使用父类别设置

4) 添加 body 类声明 body.caravan-motorhome-lighting{background: url(..)}

您可以找到更完整的解释Magento - 按类别更改身体类别

我在 Magento 1.6.1.0 中使用了这种技术,但应该适用于可以将布局更新应用于类别的早期版本。

于 2011-11-12T14:51:53.937 回答