0

MagentoのマルチストアWebサイトがあります。私は3つの店を持っています。1つのストアから[カートに追加]ボタンを削除/非表示にしたい。しかし、他の店はそれを表示する必要があります。

管理パネルからこれを行うことはできますか?最も簡単な解決策は何ですか?

4

2 に答える 2

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()。ユーザーをリダイレクトして、無効になっていることなどを示すメッセージを追加できます。

于 2013-03-28T00:40:47.487 に答える
0

最善の解決策は、モジュールを使用することでした。これで、各ストア(またはWebサイト/グローバル)の管理パネルから次のように設定できます。

  1. 「カートに追加」ボタンと価格を表示する
  2. 両方を非表示
  3. 「カートに追加」ボタンのみを表示
  4. 価格のみを表示

また、この設定を特定のユーザーグループで機能するように設定することもできます。追加のテーマや「ハードコード」は必要ありません:)クリーンに作業する必要があります。

これはモジュールです(そしてそれは無料です):

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);

私が助けてくれたことを願っています!

于 2013-03-28T12:13:55.883 に答える