Magento2 Magento 2:如何生成添加到购物车URL
我在主页上循环一些特定的产品,但无法在magento 2中生成添加到购物车的URLMagento2 Magento 2:如何生成添加到购物车URL,magento2,Magento2,我在主页上循环一些特定的产品,但无法在magento 2中生成添加到购物车的URL 如何在循环中显示产品时生成“添加到购物车”URL。使用以下命令在magento2中生成“添加到购物车”URL: $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $listBlock = $objectManager->get('\Magento\Catalog\Block\Product\ListProduct')
如何在循环中显示产品时生成“添加到购物车”URL。使用以下命令在magento2中生成“添加到购物车”URL:
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$listBlock = $objectManager->get('\Magento\Catalog\Block\Product\ListProduct');
$addToCartUrl = $listBlock->getAddToCartUrl($product);
使用以下命令在magento2中生成“添加到购物车”URL:
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$listBlock = $objectManager->get('\Magento\Catalog\Block\Product\ListProduct');
$addToCartUrl = $listBlock->getAddToCartUrl($product);
使用表单键将按钮代码添加到表单中。。它会起作用的
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$listBlock = $objectManager->get('\Magento\Catalog\Block\Product\ListProduct');
$addToCartUrl = $listBlock->getAddToCartUrl($product);
<form data-role="tocart-form" action="<?php echo $addToCartUrl; ?>" method="post">
<?php echo $block->getBlockHtml('formkey')?>
<button type="submit"
title="Add to Cart"
class="action tocart primary">
<span>Add to Cart</span>
</button>
</form>
使用表单键将按钮代码添加到表单中。。它会起作用的
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$listBlock = $objectManager->get('\Magento\Catalog\Block\Product\ListProduct');
$addToCartUrl = $listBlock->getAddToCartUrl($product);
<form data-role="tocart-form" action="<?php echo $addToCartUrl; ?>" method="post">
<?php echo $block->getBlockHtml('formkey')?>
<button type="submit"
title="Add to Cart"
class="action tocart primary">
<span>Add to Cart</span>
</button>
</form>
我知道这已经是一年前的事了,但由于我刚刚完成了要求的工作,我想我可以发布我的解决方案来帮助其他人 其他答案也适用,但仅适用于简单产品,不需要进一步输入,例如选择选项。使用getAddToCartUrl时,Magento首先检查产品是否需要选择任何选项;如果是这样,那么它只需将URL提供给产品页面即可 要跳过所有这些检查并直接获取“添加到购物车”URL,请改用Magento\Checkout\Helper\cart Helper。如果您在.phtml文件中,则只需调用$this->helper: 从那里,您可以通过getAddUrl生成添加到购物车的URL,确保将product对象作为参数传递:
echo $cartHelper->getAddUrl($product)
要使其完全工作,您必须为表单键设置一个隐藏字段,如其他答案中所述,并且如果所述产品具有强制性选项可供选择,例如可配置产品,则确保您也包括这些字段,否则您将被重定向到产品页本身,带有一条消息,通知用户需要选项。我知道这已经是一年前的事了,但由于我刚刚完成了请求,我想我可以发布我的解决方案来帮助其他人 其他答案也适用,但仅适用于简单产品,不需要进一步输入,例如选择选项。使用getAddToCartUrl时,Magento首先检查产品是否需要选择任何选项;如果是这样,那么它只需将URL提供给产品页面即可 要跳过所有这些检查并直接获取“添加到购物车”URL,请改用Magento\Checkout\Helper\cart Helper。如果您在.phtml文件中,则只需调用$this->helper: 从那里,您可以通过getAddUrl生成添加到购物车的URL,确保将product对象作为参数传递:
echo $cartHelper->getAddUrl($product)
要使其完全工作,您必须为表单键设置一个隐藏字段,如其他答案中所述,并且如果所述产品具有强制性选项可供选择,例如可配置产品,则确保您也包括这些字段,否则您将被重定向到产品页本身,带有一条消息,通知用户需要选项。最好的解决方案是使用
$cartHelper = $this->helper('Magento\Checkout\Helper\Cart');
然后呢
echo $cartHelper->getAddUrl($product);
每次都会添加到购物车URL
对于简单的产品,对于具有自定义选项的简单产品等,最好的解决方案是使用
$cartHelper = $this->helper('Magento\Checkout\Helper\Cart');
然后呢
echo $cartHelper->getAddUrl($product);
每次都会添加到购物车URL
对于简单产品,对于具有自定义选项等的简单产品,您可以通过以下代码生成“添加到购物车url”:
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$listBlock = $objectManager->get('\Magento\Catalog\Block\Product\ListProduct');
$addToCartUrl = $listBlock->getAddToCartUrl($_product);
您可以通过以下代码生成“添加到购物车url”:
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$listBlock = $objectManager->get('\Magento\Catalog\Block\Product\ListProduct');
$addToCartUrl = $listBlock->getAddToCartUrl($_product);
它会生成URL,但当我单击此链接时,它会将我带到购物车,而不是物品。您的购物车中没有商品。Ye me我也是。我现在要寻找解决方案。您找到解决方案了吗?不应使用对象管理器-在列表页面上,此代码重定向到可配置产品的产品视图页面,并适用于简单产品。它生成URL,但当我单击此链接时,它会将我带到不带商品的购物车。您的购物车中没有商品。Ye me我也是。我现在要寻找解决方案。您找到解决方案了吗?不应使用对象管理器-在列表页上,此代码重定向到产品视图页,用于可配置产品,适用于简单产品。我喜欢此建议,因为使用Magento\Checkout\Helper\Cart也可以在控制器或模型中完成,而不仅仅是在块或模板中。这应该是IMO接受的答案。我不确定我是否理解这个解决方案。如何定义$product?我喜欢这个建议,因为使用Magento\Checkout\Helper\Cart也可以在控制器或模型中完成,而不仅仅是在块或模板中。这应该是IMO接受的答案。我不确定我是否理解这个解决方案。如何定义$product?