Размещение кнопки "Добавить в корзину" на домашней странице в Magento
Я пытаюсь создать торговый портал в Magento. На главной странице я хочу показать кнопку "добавить в корзину" рядом с каждым товаром, показанным там. Домашняя страница - это простая статическая CMS-страница. Когда я попробовал этот код,
<button class="button btn-cart" title="Add to Cart" onclick="setLocation('/n/magento/checkout/cart/add/product/644/qty/1')" type="button"><span><span>Add to Cart</span></span></button>
где 644 - идентификатор продукта, страница была перенаправлена на страницу корзины, но продукт не добавляется в корзину. Я попробовал это в Firefox, Chrome и IE, но ни с чем. Я искал много сайтов для этого, но не смог найти ничего полезного. Если кто-то может помочь в этом, это будет очень полезно. Заранее спасибо.
7 ответов
Я давно не публиковал этот вопрос, и в конце концов я нашел ответ, но забыл добавить его здесь.
Я не могу получить кнопку "Добавить в корзину" изнутри редактора wysiwyg администратора, так как для этого требуется вызов классов Magento через PHP, что невозможно из редактора администратора (это не для кода PHP).
То, что я сделал, называлось шаблоном в админке так:
<block type="core/template" name="home_products" template="home/product.phtml">
И затем, внутри этого файла, я использовал функции PHP, чтобы получить форму, которая требуется Magento для правильной кнопки "Добавить в корзину". Я просто загрузил продукт через каталог / модель продукта, а затем создал форму так же, как то, что внутри catalog/product/view/addtocart.phtml
файл. Кроме того, в последних версиях Magento, форма должна также присутствовать внутри формы, чтобы она работала правильно.
Попробуйте эту ссылку:
Добавить в корзину Надеюсь, это поможет.
Или попробуйте это:
<?php if($_product->isSaleable()): ?>
<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>
<?php else: ?>
<p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
<?php endif; ?>
Очистите кеш и перезагрузите страницу.
Это работает, попробуйте это:
$product = Mage::getModel('catalog/product')->load(1);
echo '<a href=' . Mage::helper('checkout/cart')->getAddUrl($product) .'>CONFIRM AND PROCEED TO CHECKOUT </a>';
Будет отлично работать
передать ваш продукт как $_product
<?php if($_product->isSaleable()): ?>
<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>
<?php else: ?>
<p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
Попробуй это
<button type="button" title="<?php echo $this->__('Add to Cart') ?>"
class="button btn-cart"
onclick="setLocation('<?php echo Mage::getUrl('checkout/cart/add/').'product/'.$_product->getId().'/'; ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button>
Поместите код ниже в ваш файл.phtml.
$productId = '168'; // Your Product Id
$_product = Mage::getModel('catalog/product')->load($productId);
<button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo Mage::helper('checkout/cart')->getAddUrl($_product); ?>')"><span><span><img src="<?php echo $this->getSkinUrl('images/buy.jpg') ?>" alt="" /></span></span></button>
Код взят здесь: http://chandreshrana.blogspot.in/2016/03/adding-custom-add-to-cart-button-in.html
Добавить ссылку в корзину для вашего продукта в любом месте на сайте Magento:
Следующий код может быть полезным:
$ product = Mage:: getModel ('catalog / product') -> load ($ YourProductID);
echo Mage:: helper ('checkout / cart') -> getAddUrl ($ product);