Magento - 不可售卖产品

4

你完成了那个教程的多少部分?哪些部分出现了错误?你使用了正确的ID(而不仅仅是指南中的4)吗? - Alex Hadley
1个回答

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 ?>

你好,pspah。你的解决方案非常有效!谢谢!还有一个问题...我怎么在那里显示一条语句呢?例如:“联系我们”。 - Brightweb
非常感谢 @pspahn。当你想到它时,它就变得非常有意义。 - PaulSkinner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接