「view.phtml」ファイルには、コードの 2 つのセクションがありました。
<?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; ?>
製品が単純な製品である場合、addtocart ブロックが表示されます 'if (!$this->hasOptions()'. 製品が構成可能な場合にサーバーに何をすべきかを伝えるものは何もなかったため、次のコードを追加する必要がありましたただし販売不可:
<?php if (!$_product->isSaleable() && $this->hasOptions()){ ?>
<?php echo $this->getChildHtml('addtocart') ?>
<?php } ?>
私は php にかなり慣れていないので、多くの人にとってはおそらくかなり明白でしたが、なんとか 1 週間ほどそれを逃すことができました (幸運なことに、これは私のフルタイムの仕事ではありません!)。