Questions tagged «addtocart»

与在Magento中将产品添加到购物车的功能有关的问题。

1
Magento 2:未捕获的TypeError:无法读取(section-config.js:33)中未定义的属性'*'
这是重复的问题,但是在添加产品和从购物车页面中删除商品时,我遇到了同样的问题。 我花了将近一天的时间解决问题,但没有运气希望有人可以帮助我。 控制台中的错误消息: 未捕获到的TypeError:无法读取(section-config.js:33)中未定义的属性'*' 编辑:我已经运行了部署&删除所有缓存仍然仍然存在问题。


4
以编程方式将具有不同属性的多个项目添加到购物车
我正在批量添加购物车系统。请注意:我希望它适用于具有自定义选项的简单产品->自定义选项如颜色(红色,绿色,蓝色)或尺寸(XL,M,S) 假设某人要订购以下物品: productA,red颜色qty12 ProductA,green颜色qty18 ProductB XL,数量3 Product C,数量10 因此,我想一次通过代码/以编程方式添加这4个项目。我怎样才能做到这一点?是否可以通过查询字符串或任何控制器或内置函数来实现?不必每次都看到一个查询或一个函数调用...

2
将动态自定义选项复制到报价项目,订单项目
我有一个观察者,它将动态自定义选项添加到产品详细信息页面(在catalog_controller_product_view事件中调用)。这允许客户从其现有许可证代码的下拉列表中进行选择。 public function addLicenseOptions(Varien_Event_Observer $observer) { $product = $observer->getEvent()->getProduct(); if ($product->isSubscriptionProduct()) { $optionModel = Mage::getModel('catalog/product_option') ->setTitle('License Code') ->setProductId($product->getId()) ->setStoreId($product->getStoreId()) ->setId('license_code') ->setType('drop_down') ->setPrice(null) ->setPriceType(null) ->setIsRequire(true); $customer = Mage::getSingleton('customer/session')->getCustomer(); if ($customer->getId()) { $linksPurchased = Mage::getResourceModel('downloadable/link_purchased_collection') ->addFieldToFilter('customer_id', $customer->getId()); if ($linksPurchased->count() > 0) { foreach ($linksPurchased as $linkPurchased) { $valueModel = Mage::getModel('catalog/product_option_value') ->setTitle($linkPurchased->getData('key_code')) ->setProduct($product) …

7
更改Magento 2.1.0中的“添加到购物车”按钮文本(覆盖js文件)
我已通过覆盖“ vendor\magento\module-catalog\view\frontend\templates\product\list.phtml” 将“添加到购物车”文本更改为“我想要这个”。 但是,当我单击“我想要这个”(即“添加到购物车”)按钮时,该产品即被添加到购物车,然后按钮上再次出现“添加到购物车”文本。 我认为产品是通过ajax调用添加的,这就是为什么在ajax调用后未显示新添加的文本并且显示“添加到购物车”文本的原因。 我已经试过了 我创建了一个自定义扩展Ved_Mymodule。 我已检查该扩展程序是否处于活动状态。 之后,我按照以下步骤操作: 应用程序/代码/Ved/Mymodule/view/frontend/requirejs-config.js: var config = { map: { '*': { catalogAddToCart:'Ved_Mymodule/js/customCatalogAddToCart' } } }; 应用/代码/Ved/Mymodule/view/frontend/web/js/customCatalogAddToCart.js: define([ 'jquery', 'mage/translate', 'jquery/ui' ], function($, $t) { "use strict"; $.widget('Ved_Mymodule.customCatalogAddToCart',$.mage.catalogAddToCart, { //Override function disableAddToCartButton: function(form) { var addToCartButtonTextWhileAdding = this.options.addToCartButtonTextWhileAdding || $t('Adding...'); var addToCartButton = $(form).find(this.options.addToCartButtonSelector); …

3
Magento2-如何阻止以编程方式将产品添加到购物车?
我想做的是,如果在引号中设置了我的自定义属性,那么我不想在购物车中添加任何产品。我的自定义属性已正确设置。 为了阻止产品添加到购物车,我编写了一个观察该事件的观察者 controller_action_predispatch_checkout_cart_add 我的观察者文件代码: public function execute(\Magento\Framework\Event\Observer $observer) { $addedItemId = $observer->getRequest()->getParam('product'); $quote = $this->_cart->getQuote(); if(!empty($quote)) { $customAttribute = $quote->getData('custom_attribute'); if(!empty($customAttribute)) { $controller = $observer->getControllerAction(); $storeId = $this->_objectManager->get('Magento\Store\Model\StoreManagerInterface')->getStore()->getId(); $product = $this->_productRepository->getById($addedItemId, false, $storeId); $observer->getRequest()->setParam('product', null); $this->_messageManager->addError(__('This product cannot be added to your cart.')); echo false; $this->_actionFlag->set('', \Magento\Framework\App\Action\Action::FLAG_NO_DISPATCH, true); $this->redirect->redirect($controller->getResponse(), 'checkout/cart/index'); …

5
如何在Magento 2中的产品小部件的“添加到购物车”按钮中启用AJAX?
在Magento 2中,普通Add to Cart按钮具有非常好的基于AJAX的逻辑,可将产品添加到购物车。 但是,当我们Catalog Products List在CMS页面中使用小部件时,此产品列表中的按钮将与一起使用HTTP POST,以重新加载当前页面。 用户体验受此困扰,如果按钮具有与默认类别产品列表或产品页面中相同的AJAX逻辑,则将是可取的。 我们如何扩展Catalog Products List小部件以使其使用更好的 Add to Cart按钮?还是有其他解决方法?

3
以编程方式获取报价(购物车)项目会显示可配置产品和简单产品的重复SKU
我正在使用以下方式获取购物车: $cart = Mage::getSingleton('checkout/session')->getQuote(); 然后使用以下命令对其进行迭代: foreach ($cart->getAllItems() as $item) { } 但是,似乎返回的商品具有相同的SKU,但商品ID不同!但是,在主站点上,当我打开购物车时,它显示的是单个产品。 cart: { id: 680, items: [ { name: "Tori Tank", price: "60.0000", id: "418", sku: "wbk004" }, { name: "Tori Tank", price: "60.0000", id: "286", sku: "wbk004" } ] } 我的问题是..为什么会这样?父级(可配置)产品不应该显示自己的唯一Sku吗? 另外,如果要将产品添加到购物车,是否应该添加可配置的产品?还是我添加简单产品,然后由Magento处理其余产品?

2
如何使用自定义输入字段将产品“添加到购物车”并将其保存到数据库?
我创建了一个自定义模块,在其中重写了产品页面上的“ 添加到购物车”表单,并成功使用catalog_product_view.xml文件完成了此操作。现在,我可以在产品页面的前视图上看到一个自定义输入字段,但是我需要将该字段的值与数量,价格等一起发布到数据库中,然后在订单历史记录中再次检索它。 我搜索了一段时间,也成功地在quote_item&sales_order表中创建了新的自定义列。(根据我的信息,添加到购物车条目quote_item和结帐到sales_order表后的订单。如果我对此有误,请在此方面也进行纠正,因为我仍然是学习者。) 我尝试了很多并进行了搜索,但没有找到相关的解决方案。我的供应商名称为Cloudways,模块名称为Mymodule。以下是我的模块的文件: Cloudways / Mymodule / registration.php <?php \Magento\Framework\Component\ComponentRegistrar::register( \Magento\Framework\Component\ComponentRegistrar::MODULE, 'Cloudways_Mymodule', __DIR__ ); Cloudways / Mymodule / etc / module.xml <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> <module name="Cloudways_Mymodule" setup_version="1.0.1"></module> </config> Cloudways / Mymodule / Setup / UpgradeSchema.php <?php namespace Cloudways\Mymodule\Setup; use Magento\Framework\Setup\UpgradeSchemaInterface; use Magento\Framework\Setup\SchemaSetupInterface; use Magento\Framework\Setup\ModuleContextInterface; class UpgradeSchema implements …

2
Magento 2:如何使自定义费用征税
我想对自定义费用加税。税收计算是完美的,可以获取税收金额,但未在数据库中quote_address的TAX文件中设置。 public function collect( \Magento\Quote\Model\Quote $quote, \Magento\Quote\Api\Data\ShippingAssignmentInterface $shippingAssignment, \Magento\Quote\Model\Quote\Address\Total $total ){ $total->setTaxAmount($total->getTaxAmount()+$taxAmount); $total->setBaseTaxAmount($total->getBaseTaxAmount()+$taxAmount); } 我尝试在collect方法中设置tax Amount,但未设置。 我想像这个代码一样。它是Magento1,但我想要Magento 2

2
Magento2-如何在触发checkout_cart_product_add_after后以编程方式将产品添加到购物车
考虑有两种产品,即:产品A和产品B。产品B是一种虚拟产品,当将产品A添加到购物车时,我需要将其添加到购物车中。 为此,我正在尝试通过观察事件将产品B添加到购物车checkout_cart_product_add_after。添加产品A后,我将检索为产品A添加的产品数量,并基于此我尝试以编程方式添加产品B。要添加产品B,我编写了以下代码: <?php namespace MyModule\Applicationcharges\Observer; use Magento\Framework\Event\ObserverInterface; use Magento\Framework\App\RequestInterface; class AddCharges implements ObserverInterface { protected $_productRepository; protected $_cart; public function __construct(\Magento\Catalog\Model\ProductRepository $productRepository, \Magento\Checkout\Model\Cart $cart){ $this->_productRepository = $productRepository; $this->_cart = $cart; } public function execute(\Magento\Framework\Event\Observer $observer) { $item=$observer->getEvent()->getData('quote_item'); $product=$observer->getEvent()->getData('product'); $item = ( $item->getParentItem() ? $item->getParentItem() : $item ); $product->getQty(); $params = …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.