Magento目录视图,显示添加到购物车&;预购按钮(代码到目前为止)


Magento Catalog View, Displaying Add To Cart & Pre-Order Buttons (Code So Far Inside)

基本上我想要实现的是当一个简单的产品有>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; ?>

我会这样做:

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