Magento目录查看,显示添加到购物车&预订按钮(代码内容很远)

时间:2011-12-18 14:51:19

标签: php string magento product

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

1 个答案:

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