Просмотр каталога Magento, отображение кнопок «Добавить в корзину» и «Предварительный заказ» (код до сих пор внутри) - PullRequest
1 голос
/ 18 декабря 2011

По сути, я пытаюсь добиться того, чтобы простой продукт имел> 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 Ответ

1 голос
/ 19 декабря 2011

Я бы сделал что-то вроде этого:

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