可配置产品的'addtocart'在哪里?

时间:2013-10-10 13:21:47

标签: php magento

目前,当产品缺货时,'addtocart'块会消失,但我想改变它,相反,它仍会显示'addtocart'块,而不是实际的'添加到购物篮'按钮,它会显示一些文字,说明产品缺货。

我已经设法通过

让这个工作在简单的产品上
<?php echo $this->getChildHtml('addtocart') ?>

中的

if ($_product->isSaleable())

部分,并编辑'addtocart'块,以便在产品不可销售时显示所需的文本,而不是'添加到购物篮'按钮。

我的问题是,对于可配置的产品,无论代码是否显示“addtocart”块都显示不是特别明显,我查看了整个view.phtml和其他文件的加载,并通过整个目录,但我已经为简单产品改变的部分是唯一出现的部分(在view.phtml中)......

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

它是相同的代码(if ($_product->isSaleable())),但在文件/app/design/frontend/base/default/template/catalog/product/view/addtocart.phtml

答案 1 :(得分:0)

事实证明它比我想象的要简单得多,在'view.phtml'文件中有两段代码:

<?php if ($_product->isSaleable() && $this->hasOptions()): ?>
     <?php echo $this->getChildChildHtml('container2', '', true, true) ?>
<?php endif; ?>

如果产品是可配置产品'$ this-&gt; 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-&gt; hasOptions()',那么会显示addtocart块。我不得不添加以下代码,因为没有任何内容告诉服务器如果要做什么该产品是可配置但不可销售的:

<?php if (!$_product->isSaleable() && $this->hasOptions()){ ?>
     <?php echo $this->getChildHtml('addtocart') ?>
<?php } ?>

我对php很新,所以对于很多人来说这可能是非常明显的,但我设法错过了一个星期左右(幸运的是这不是我的全职工作!),希望这有助于其他!

相关问题