Кнопка Добавить в корзину не будет работать
Я нашел этот код через Google, чтобы добавить кнопку на страницу моей корзины покупок в разделе, где у меня начинают отображаться некоторые товары. Однако, когда я нажимаю на кнопку, она перенаправляет меня в корзину покупок, но в корзину ничего не добавляется, и я не знаю, почему.
<button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo Mage::getUrl('checkout/cart/add/')?>product/<?php echo $_product->getId() ?>/')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button>
Это мой полный блок кода для товаров, которые будут отображаться в моей корзине после некоторых изменений:
<div class="upsell">
<?php if (Mage::helper('checkout/cart')->getQuote()->getSubtotal() < 75.00)
{?>
<h1><?php echo 'We see your subtotal is under £75, why not add these products to qualify for Free Delivery';?></h1>
<br>
<?php
$categoryid = 1054;
$category = new Mage_Catalog_Model_Category();
$category->load($categoryid);
$collection = $category->getProductCollection();
$collection->addAttributeToSelect('*');
$collection->getSelect()->order(new Zend_Db_Expr('RAND()'));
?>
<div class="upsell_products">
<?php $i = 0; ?>
<?php foreach ($collection as $_product){ ?>
<div class="product">
<a href="<?php echo $_product->getProductUrl() ?>">
<div class="product_img_cart">
<img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image'); ?>" alt="<?php echo $_product->getName(); ?>" /></a>
</div>
<a href="<?php echo $_product->getProductUrl(); ?>">
<p class="upsell_pro_name"><?php echo $_product->getName(); ?></p>
<p class="upsell_pro_price"><?php echo Mage::helper('core')->formatPrice($_product->getPrice());?></a></p>
<div class="add_cart_btn">
<button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product)?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button>
</div>
</div>
<?php if($i++ == 3) break; ?>
<?php } }
Если вы можете помочь, мы будем признательны.
1 answers
Попробуйте одну вещь:
-
Загрузите продукт по идентификатору продукта ($_product->getId()).
$product=Маг::getModel("каталог/продукт")->загрузить($_product->getId());
Затем используйте:
$product вместо $_product в onclick. Код приведен ниже:
onclick="setLocation('<?php echo $this->getAddToCartUrl($product) ?>')"
Надеюсь, это поможет.
Ниже приведен обновленный код для работы с URL-адресом Добавления в корзину:
<div class="upsell">
<?php if (Mage::helper('checkout/cart')->getQuote()->getSubtotal() < 75.00)
{?>
<h1><?php echo 'We see your subtotal is under £75, why not add these products to qualify for Free Delivery';?></h1>
<br>
<?php
$categoryid = 1054;
$category = new Mage_Catalog_Model_Category();
$category->load($categoryid);
$collection = $category->getProductCollection();
$collection->addAttributeToSelect('*');
$collection->getSelect()->order(new Zend_Db_Expr('RAND()'));
?>
<div class="upsell_products">
<?php $i = 0; ?>
<?php foreach ($collection as $_product){ ?>
<?php $product = Mage::getModel('catalog/product')->load($_product->getId());?>
<div class="product">
<a href="<?php echo $_product->getProductUrl() ?>">
<div class="product_img_cart">
<img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image'); ?>" alt="<?php echo $_product->getName(); ?>" /></a>
</div>
<a href="<?php echo $_product->getProductUrl(); ?>">
<p class="upsell_pro_name"><?php echo $_product->getName(); ?></p>
<p class="upsell_pro_price"><?php echo Mage::helper('core')->formatPrice($_product->getPrice());?></a></p>
<div class="add_cart_btn">
<button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->helper('checkout/cart')->getAddUrl($product)?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button>
</div>
</div>
<?php if($i++ == 3) break; ?>
<?php } }