【问题标题】:Placing "Add to cart" button on homepage in Magento在 Magento 的主页上放置“添加到购物车”按钮
【发布时间】:2013-12-09 09:11:11
【问题描述】:

我正在尝试在 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 是产品 ID,页面被重定向到购物车页面,但产品未添加到购物车中。我也在 Firefox、chrome 和 IE 中尝试过,但什么也没有。我为此搜索了许多网站,但找不到任何有用的东西。 如果有人可以对此提供帮助,那将有很大帮助。提前致谢。

【问题讨论】:

  • 好的,我知道了。我使用 CMS 页面放置“添加到购物车”按钮是错误的,因为它需要 Magento 的 PHP 代码,这在 CMS 中是不可能的。所以,感谢所有试图提供帮助的人。我现在正在为我的主页使用自定义模板文件。

标签: magento magento-1.8


【解决方案1】:

试试这个链接:

Add to cart 希望对您有所帮助。

或者试试这个:

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

清除缓存并重新加载页面。

【讨论】:

  • 不,它不起作用。我看到那个 wiki 页面上还没有人提到这一点。
  • 您检查是否有任何 javascript 错误?可能是冲突?
  • 页面中没有我这边的JS。
  • firebug 控制台显示 productaddtocartform 未定义。我该如何解决这个问题?
  • 添加这一行 ..
【解决方案2】:

试试这个

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

【讨论】:

    【解决方案3】:

    它会完美运行
    将您的产品作为 $_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>
    

    【讨论】:

    • 你能帮我吗,在我的 cms 页面添加到购物车不起作用 -> 代码 -> justpaste.it/49eqz
    【解决方案4】:

    在 Magento 网站的任何位置为您的产品添加到购物车链接::

    以下代码可能会有所帮助:

    $product = Mage::getModel('catalog/product')->load($YourProductID);

    echo Mage::helper('checkout/cart')->getAddUrl($product);

    【讨论】:

    • 我认为“任何地方”不包括从管理面板管理的 CMS 页面。
    【解决方案5】:

    将以下代码放入您的 .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,即使这样也行不通,因为没有表单键。感谢您提醒我这个问题,我会尽快添加我所做的作为答案。
    【解决方案6】:

    很久没有发这个问题了,终于找到答案了,但是忘记在这里补充了。

    我无法在管理所见即所得编辑器中使用“添加到购物车”按钮,因为它需要通过 PHP 调用 Magento 类,这在管理编辑器中是不可能的(它不适用于 PHP 代码)。

    我所做的在管理员中被称为模板,如下所示:

    <block type="core/template" name="home_products" template="home/product.phtml">
    

    然后,在该文件中,我使用 PHP 函数来获得 Magento 所需的表单,以实现正确的“添加到购物车”按钮。我只是通过目录/产品模型加载了产品,然后创建了类似于 catalog/product/view/addtocart.phtml 文件中的表单。此外,在最新版本的 Magento 中,formkey 也应该出现在表单中以使其正常工作。

    【讨论】:

    • 你能帮我吗,在我的 cms 页面添加到购物车不起作用 -> 代码 -> justpaste.it/49eqz
    • @Gem,该代码中没有$this 的上下文,这可能是它不起作用的原因。尝试发布一个问题,详细说明您在 Magento 应用程序中的何处使用此代码,以及它是如何被调用的。
    • 我在我的 CMS 页面中使用上述代码,我的概念就像我的所有产品一样显示,客户可以将整个产品添加到单个 cms 页面中的购物车。 @Prateek
    • 它不会那样工作。正如我之前提到的,您不能在管理员的 CMS 编辑器区域内使用 PHP 代码。
    • 好的,我可以知道最好的方法,比如单页中的所有产品列表以及添加到购物车按钮? @Prateek
    【解决方案7】:

    它的工作,试试这个:

    $product = Mage::getModel('catalog/product')->load(1);
    
    
    echo '<a href=' . Mage::helper('checkout/cart')->getAddUrl($product) .'>CONFIRM AND PROCEED TO CHECKOUT </a>';
    

    【讨论】:

    • 不,这行不通。正如我上面所说,您不能在管理员中存在的所见即所得编辑器中运行 PHP 代码。
    • 此代码仅适用于 .phtml 文件。不适用于 CMS 管理页面
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-28
    • 2014-08-30
    • 1970-01-01
    • 2016-11-26
    • 2014-09-27
    相关资源
    最近更新 更多