2011-01-27 7 views

答えて

4

あなたは非常に簡単にカテゴリ名をそれを行うことができます。 Magentoのは、デフォルトでは、bodyタグに以下を追加します。

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

あなたの代わりに.category-{$category_id}、または類似の.category-{$category_name}クラスをオフに動作するようにあなたのスタイルシートを定義することができることを、次の。あなたのスタイルシートを一緒に編集している次の人にも意味をなさせるでしょう:)

あなたが実際にコードを変更して実際にカテゴリIDを使用したいのであれば、通常の方法で、カテゴリのコントローラを変更し、追加:Mage_Catalog_CategoryController::viewAction() ..in

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

を同じ点の周りで他のクラスが追加されます。

+0

IDの代わりに名前を使用する場合は+1。それは使用する方がはるかに良く、潜在的にはより復元力があります。カテゴリが同一のIDで置き換えられた場合、IDは違ってスタイルが崩れます。 – clockworkgeek

+0

これは素晴らしい回答ですが、一部の店主にとって柔軟性がない場合があります。これは、クライアントがカテゴリイメージ(バックエンドから)を(フロントエンド上で)関連するカテゴリの背景にしたいという、実際のクライアントの場合です。解決策は、多くのクライアントの場合ではないCSSスキルを持っている人には最適です:)カテゴリ/ view.phtmlでカテゴリを隠すdivをカテゴリimg urlに追加// JSを使用してコンテンツを取得この隠されたdivとCSSの背景を変更するには、例えば、隠れたdivの内容を使用して、たとえば、.mainまたは.col-mainとしましょう。それは美しく動作します:) –

0

ウェブストアのオーナーがウェブデザイナーと共同で(CSSルールを適用するために)十分に柔軟な方法です。

シナリオ:同じ背景画像をカテゴリ&にしたいとします。

1)あなたは、カテゴリーマネージャー内の親カテゴリにレイアウトの更新を適用します。

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

2)使用親カテゴリの設定にない親カテゴリを設定します。

3)親カテゴリの設定

4を使用するための子カテゴリを設定しますが)そうbody.caravan-キャンピングカー - 照明のような体のクラス宣言を追加{背景:URL(..)}

あなたは見つけることができますMagento - changing the body class by category

私はこの手法をMagento 1.6.1.0で使用しましたが、カテゴリにレイアウトの更新を適用できる以前のバージョンで動作するはずです。

関連する問題