Magento - 非卖品

时间:2012-05-09 13:33:03

标签: magento product catalog

我想将一些产品设置为“不可销售”,删除“添加到购物车”按钮并添加指向联系表单的链接。

我正在寻找这个解决方案几周。正在搜索,我发现了这篇文章:

http://www.e-commercewebdesign.co.uk/blog/magento-tutorials/non-salable-products-with-attribute-sets.php

但我不能让它发挥作用。有人可以帮我详细说明一下吗?

1 个答案:

答案 0 :(得分:8)

该教程可行,但我会采用不同的方式。

首先,该教程强制您使用特定的属性集ID。与产品ID,类别ID等一样,如果您正在管理开发/生产服务器环境,这可能会发生变化。我不推荐这个。

就个人而言(我知道有更好的方法),我会创建一个新的产品属性,类似于“非卖品”。将此属性设置为“是/否”,默认值为“否”(出售)。

然后,如果你有一个添加到购物车按钮,例如在view.phtml中,找到显示添加到购物车按钮的代码块,如:

 <?php echo $this->getChildHtml('addtocart') ?>

使用以下内容包装此块:

 <?php if(!$_product->getNotForSale()) : ?>
      <?php echo $this->getChildHtml('addtocart') ?>
 <?php endif ?>

然后,对于那些您不想购买的产品,请将产品管理中的属性值设置为“是”。

此外,您可以在其中绑定else语句以显示备用按钮或其他任何内容。

此方法基本相同,但为您提供更细粒度的控制,因为您不必混淆各种属性集及其ID。控制属性名称比使用属性集ID容易得多。

---编辑--- 放置内容而不是按钮:

<?php if(!$_product->getNotForSale()) : ?>
    <?php echo $this->getChildHtml('addtocart') ?>
<?php else : ?>
    <?php echo $this->__('Call Us to Order') ?>
    ... or whatever else you may want here ...
<?php endif ?>