0

I have a magento multi-store website. I have three stores. I want to remove/hide the Add to cart button from one store. But the other stores should display it.

Can I do this from admin panel? What is the easyest solution?

4

2 回答 2

1

在您的模板中,您可以检查商店 id,例如,如果您不希望它显示在商店 id 3 中...

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

最好的解决方案是使用模块。现在我可以从每个商店(或网站/全球)的管理面板设置为:

  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 回答