2012-05-09 141 views
4

我想设置一些产品为“不可销售”,删除“添加到购物车”按钮并添加一个链接到联系表格。Magento - 非销售产品

我正在寻找这个解决方案几个星期。搜索,我发现这个职位:

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

但我不能使它发挥作用。有人可以帮助我了解更多细节?

+0

多远你该教程得到什么?哪些部分没有工作/抛出错误?你是否使用了正确的ID(不仅仅是指南中的4)? –

回答

7

该教程将工作,但我会做一个不同的方式。

首先,该教程强制您使用特定的属性集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 ?> 
+0

你好,pspah。你的解决方案就像一个魅力!谢谢!还有一个问题......我如何在那里展示一个陈述?例如:“给我们打电话”。 – Brightweb

+0

请参阅编辑答案... – pspahn

+0

非常感谢@pspahn。如果你仔细想想的话,这一点很有意义。 – PaulSkinner