基本上我想要实现的是当一个简单的产品具有> 0的数量时,它显示添加到购物车按钮。当它等于小于0的订单时,它会显示预订按钮。
此外,可配置产品始终显示添加到购物车按钮。
下面是我一直在玩的代码,可能完全是错误的方式,但适用于简单的产品。但是,对于可配置显示两个URL,因为它调用字符串两次。
如果有人可以简单地修改代码,那么它可以正常工作,这将是很棒的!
<?php if($_product->isSaleable()): ?>
<a href="#" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><img src="<?PHP
$str = $this->getSkinUrl('images/btn_add_to_cart.gif');
$stre = $this->getSkinUrl('images/pre-order.gif');
if ($_product->isConfigurable())
{print "str";} ?>
<?PHP if ((int) Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty()> 0)
{print "$str";
}
else
{print "$stre";}?>" alt="<?php echo $this->__('Add to Cart') ?>" title="<?php echo $this->__('Add to Cart') ?>";}?>
</a>
<?php else: ?>
<div class="out-of-stock"><?php echo $this->__('Out of stock') ?></div>
<?php endif; ?>
答案 0 :(得分:1)
我会做这样的事情:
<?php if ($_product->isSaleable()): ?>
<a href="#" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product); ?>')"><img
<?php if ($_product->isConfigurable()
|| 0 < (int) Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty()): ?>
src="<?php echo $this->getSkinUrl('images/btn_add_to_cart.gif'); ?>"
<?php else: ?>
src="<?php echo $this->getSkinUrl('images/pre-order.gif'); ?>"
<?php endif; ?>
alt="<?php echo $this->__('Add to Cart'); ?>"
title="<?php echo $this->__('Add to Cart'); ?>" /></a>
<?php else: ?>
<div class="out-of-stock"><?php echo $this->__('Out of stock'); ?></div>
<?php endif; ?>