MagentoのマルチストアWebサイトがあります。私は3つの店を持っています。1つのストアから[カートに追加]ボタンを削除/非表示にしたい。しかし、他の店はそれを表示する必要があります。
管理パネルからこれを行うことはできますか?最も簡単な解決策は何ですか?
MagentoのマルチストアWebサイトがあります。私は3つの店を持っています。1つのストアから[カートに追加]ボタンを削除/非表示にしたい。しかし、他の店はそれを表示する必要があります。
管理パネルからこれを行うことはできますか?最も簡単な解決策は何ですか?
テンプレートでは、たとえば、ストアID 3に表示したくない場合は、ストアIDを確認できます...
app / design / frontend / [package] / [theme] /template/catalog/product/view/addtocart.phtml
...
<?php if ($_product->isSaleable() && Mage::app()->getStore() != "3"): ?>
<div class="add-to-cart">[...]</div>
<?php endif ?>
...
これで、商品ページのカートへの追加が削除されます。
ボタンをそのままにしておくこともできますが、をオーバーライドするモジュールを使用してカートに追加する機能を無効にすることができますMage_Checkout_CartController::addAction()
。ユーザーをリダイレクトして、無効になっていることなどを示すメッセージを追加できます。
最善の解決策は、モジュールを使用することでした。これで、各ストア(またはWebサイト/グローバル)の管理パネルから次のように設定できます。
また、この設定を特定のユーザーグループで機能するように設定することもできます。追加のテーマや「ハードコード」は必要ありません:)クリーンに作業する必要があります。
これはモジュールです(そしてそれは無料です):
http://www.magentocommerce.com/magento-connect/hide-cart-price-5914.html
注意:このモジュールは、箱から出してすぐには機能しない可能性があります。モジュールをインストールすると、Rule.phpにクラス「Zend_log」が見つからないというエラーページが表示されました。このエラーページは、「システム->構成」および「顧客->IGカートと価格のルールを隠す」にアクセスしたときに表示されました。すべての製品のフロントエンド。これは、Rule.phpファイルの関数の名前が間違っているためです。私の創造的でない解決策は(遅い時間のため):/app/code/community/IG/HideCartPrice/Model/Rule.phpに移動します129行目を検索:public function load($ id)次のように変更します:public function load1 ($ id)行131を検索します:parent :: load($ id); 次のように変更します:parent :: load1($ id);
私が助けてくれたことを願っています!