2011-01-27 28 views

回答

4

你可以很容易地做到這一點關類別名稱。 Magento的,默認情況下,增加了以下的身體標記:

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

由此可見,你可以定義樣式表工作過,而不是.category-{$category_id},或類似的.category-{$category_name}類。這對於下一個出現並編輯你的樣式表的人更有意義:)

回到你的問題,如果你真的想修改代碼並實際使用類別ID,那麼你必須修改類別控制器,以通常的方式,並添加:

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

..in的Mage_Catalog_CategoryController::viewAction()在大約相同的點作爲其他類添加。

+0

+1使用名稱而不是ID。使用起來更好,可能更具彈性 - 如果一個類別被替換爲相同的類型,它的ID將會不同並且會破壞樣式。 – clockworkgeek 2011-01-27 18:35:14

0

這裏有足夠靈活的網站商鋪業主與他們的網頁設計師一起使用的方法(應用CSS規則)。

場景:你想同樣的背景圖像類別&它的孩子。

1)您應用的佈局更新到分類管理器中的父類:

<reference name=」root」><action method=」addBodyClass」><className>caravan-motorhome-lighting</className></action></reference>

2)設置父類使用父類別設置。

3)設置孩子使用類別的父類別設置

4)添加像這樣body.caravan,房車,照明體類聲明{背景:網址(..)}

你可以找到一個更全面的解釋Magento - changing the body class by category

我用這個技術在Magento 1.6.1.0,但應該與早期版本,你可以申請佈局更新類別工作。