事实证明它比我想象的要简单得多,在“view.phtml”文件中有两段代码:
<?php if ($_product->isSaleable() && $this->hasOptions()): ?>
<?php echo $this->getChildChildHtml('container2', '', true, true) ?>
<?php endif; ?>
如果产品既是可配置产品 '$this->hasOptions()' 并且可销售,则它会抓取 'container2'。Container2 具有用于显示可配置选项、相关产品的块(但仅针对可配置产品,此代码上方的代码行显示简单产品的相关产品)和 addtocart 块。在这段代码下面我有:
<?php if (!$this->hasOptions()): ?>
<div class="add-to-box">
<?php echo $this->getChildHtml('addtocart') ?>
<?php if ($_product->isSaleable()): ?>
<?php if ($this->helper('wishlist')->isAllow() || $_compareUrl = $this->helper('catalog/product_compare')->getAddUrl($_product)): ?>
<?php endif; ?>
<?php endif; ?>
如果产品是简单产品“if (!$this->hasOptions()”,则显示 addtocart 块。我必须添加以下代码,因为没有任何内容告诉服务器如果产品是可配置的该怎么做但不可出售:
<?php if (!$_product->isSaleable() && $this->hasOptions()){ ?>
<?php echo $this->getChildHtml('addtocart') ?>
<?php } ?>
我对 php 还很陌生,所以这对很多人来说可能很明显,但我设法错过了一周左右的时间(幸运的是,这不是我的全职工作!),希望这对其他人有帮助!