Questions tagged «quote»

表示与Magento上的报价有关的问题(创建,管理,修改,关系)

7
价格重新编制索引导致结帐时数据库死锁
我遇到了一个问题,我认为产品价格重新索引编制过程在结帐过程中导致了死锁异常。 我在结帐过程中捕获了此异常: 订单转换异常:SQLSTATE [40001]:序列化失败:1213尝试获取锁时发现死锁;否则,错误代码为:尝试重新启动事务 不幸的是,由于捕获异常的原因,我没有完整的堆栈跟踪信息,但是通过检查INNODB状态,我能够找到死锁: SELECT `si`.*, `p`.`type_id` FROM `cataloginventory_stock_item` AS `si` INNER JOIN `catalog_product_entity` AS `p` ON p.entity_id=si.product_id WHERE (stock_id=1) AND (product_id IN(47447, 56678)) FOR UPDATE *** (1) WAITING FOR THIS LOCK TO BE GRANTED: RECORD LOCKS space id 0 page no 329624 n bits 352 index `PRIMARY` of …


3
无法加载报价对象
sales/quote加载时该对象的工作方式是否不同于其他对象?请参阅以下内容。 作品: $quote = Mage::getModel('sales/quote')->getCollection() ->addFieldToFilter('entity_id', $quoteId) ->getFirstItem(); print_r($quote->getData()); // shows right data 不起作用: $quote = Mage::getModel('sales/quote')->load($quoteId); print_r($quote->getData()); // empty 两者$quote都是正确的Mage_Sales_Model_Quote。
24 sales  quote  ee-1.12 

4
EE 1.14.2 / CE 1.9.2:报价项目在登录时未正确合并(购物车中的重复产品)
我在购物车的Magento EE 1.14.2中发现了一个奇怪的错误(也影响到CE 1.9.2)。 重现步骤: 以客户A身份登录 将产品X添加到购物车 切换到其他浏览器 将产品X添加到购物车 以客户A身份登录 预期购物车: 2 x产品X 实际购物车: 1 x产品X 1 x产品X 即产品未合并。 除了切换浏览器,您还可以清除会话cookie或为产品选择其他数量。 最严重的副作用是每件商品应用了最大订购量。就我而言,产品有100%的折扣,但您只能订购一次。有了这个小技巧,您可以免费订购任何数量的产品。 为什么会发生这种情况,如何预防呢?

5
如何检查账单和送货地址是否相等?
我正在尝试在创建发票PDF时检查账单和收货地址是否相等。 到目前为止,我尝试过的是: $order = $invoice->getOrder(); if( $order->getBillingAddress()->getData() != $order->getShippingAddress()->getData() ) 要么 $order = $invoice->getOrder(); if( $order->getShippingAddress()->getData('same_as_billing')!='1' ) 但都行不通。我也试图通过使用来获取报价,$order->getQuote()但这也不起作用。 有什么方法可以检查账单地址和送货地址是否相等?

3
将订单放置在magento2中后,将自定义数据从报价复制到订单和订单项目
我正在magento 2中构建具有自定义折扣的自定义模块。我正在尝试将折扣从报价,报价项目复制到订单和订单项目。在magento 1中,我这样声明config.xml: <fieldsets> <sales_convert_quote_address> <custom_discount_amount><to_order>*</to_order></custome_discount_amount> <base_custom_discount_amount><to_order>*</to_order></base_custome_discount_amount> </sales_convert_quote_address> <sales_convert_quote_item> <custome_discount_amount><to_order_item>*</to_order_item></custome_discount_amount> <base_custom_discount_amount><to_order_item>*</to_order_item></base_custom_discount_amount> </sales_convert_quote_item> </fieldsets> 并且我的自定义折扣金额已复制到表格中:sales_flat_order并按sales_flat_order_item预期进行。 在Magento 2中,我fieldset.xml使用以下代码创建了一个文件名: <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Object/etc/fieldset.xsd"> <scope id="global"> <fieldset id="sales_convert_quote_item"> <field name="custom_discount_amount"> <aspect name="to_order_item" /> </field> <field name="base_custom_discount_amount"> <aspect name="to_order_item" /> </field> </fieldset> <fieldset id="sales_convert_quote_address"> <field name="custom_discount_amount"> <aspect name="to_order" /> </field> <field name="base_custom_discount_amount"> <aspect name="to_order" /> </field> …



4
观看添加到购物车事件-报价项目ID为空
我正在尝试捕获将商品添加到购物车后触发的事件。我目前正在观看以下事件:checkout_cart_product_add_after 根据magento消息来源,在对Quote进行所有操作后,将触发此事件。但是当我访问购物车ID和报价ID时,这些值为空: $quoteItem = $observer->getQuoteItem(); $quote_item_id = $quoteItem->getItemId(); $cart = Mage::getSingleton('checkout/session'); $quote_id= $cart->getQuoteId(); 如果购物车中没有商品,则上面的两个ID均返回空白,如果购物车中已有商品,则该商品ID具有值,但quote_item_id没有。 注意,此问题以前曾被问过,但问题从未得到解决,因此讨论最终偏离了这个问题。我需要quote_item_id。


2
将订单转换为报价并加载到当前购物车
我可以成功地将订单转换为报价,但仍然无法将其加载到当前购物车中。我尝试了几种方法,但无济于事。这是最简单的一个: $_quote = Mage::getModel('sales/convert_order')->toQuote($order)->save(); $_quote = Mage::getModel('sales/quote')->load($_quote->getId()); $_quote->setIsActive(true)->save(); 我能够获取报价ID,但报价对象未加载到当前购物车中。 我也试过 $_quote = Mage::getModel('sales/convert_order')->toQuote($order)->save(); $_quote = Mage::getModel('sales/quote')->load($_quote->getId()); if ($_checkoutQuote->getId() != $_quote->getId() && $_quote->getId()) { $_checkoutQuote->merge($_quote)->save(); Mage::getModel('checkout/session') ->setQuote($_checkoutQuote) ->init(); Mage::getSingleton('checkout/session')->getQuote()->setIsActive(true)->save(); } 和类似的方法,但仍未加载报价。非常感谢你!

1
自定义将报价转换为订单-“无法检索付款方式实例”
我偶尔看到下订单的情况,在客户卡上进行了付款授权,客户收到了订单确认电子邮件 -但Magento 或中没有订单。sales_flat_ordersales_flat_order_grid 这里选择的武器是要求管理员在网关中使付款无效,要求客户重新放置。 但是,我们拥有所有报价,报价项目,报价付款,报价地址。从理论上讲,该订单是有效的,毕竟,我们拥有授权,并且客户拥有订单电子邮件。错误发生在订单电子邮件生成导致回滚(当前工作原理)之后的某个时间。 我创建了一个测试一次性脚本,以使用沙箱网关转换此报价。但是,我在产生付款方面遇到了麻烦。我试着使用checkmo,free,authorizenet,都返回相同的异常: PHP Fatal error: Uncaught exception 'Mage_Core_Exception' with message 'Cannot retrieve payment method instance.' in /var/www/vhosts/magento/app/Mage.php:563 Stack trace: #0 /var/www/vhosts/magento/app/code/core/Mage/Payment/Model/Info.php(83): Mage::throwException('Cannot retrieve...') 请参阅下面的代码。欢迎反馈。 <?php //.... stuff $quote = Mage::getModel('sales/quote')->load(745); $convert = Mage::getModel('sales/convert_quote'); $order = $convert->toOrder($quote); $order->addressToOrder($quote->getAddress(),$order); foreach($quote->getAllItems() as $item){ $orderItem = $convert->itemToOrderItem($item); if ($item->getParentItem()) { …
10 payment  quote 

2
Magento 2:更新报价项目
我正在尝试更新magento2中的报价项目。但是每次我保存项目时,都会使用相同的引用ID而不是更新它来创建一个新项目。这是我的代码 public function __construct( \Magento\Quote\Model\QuoteRepository $quoteRepo ){ $this->_quoteRepo = $quoteRepo; } public function updateItem(){ $quote = $this->_quoteRepo->get('id here'); foreach($quote->getAllVisibleItems() as $itemq){ $itemq->setQty(5); $itemq->setPrice(20); $itemq->save(); } } 但是,每次它保存一个项目时,都会生成一个新项目。不知道为什么。也I couldn't find any class which explicitly load qoute item in magento2。帮助将不胜感激。 在这个问题上,/magento/139298/how-to-save-quote-items-in-magento-2他们正在设置整个产品...而不是尝试对其进行更新。设置产品时,肯定会生成新的报价项目。但是为什么在更新的情况下也这样做。


1
销售报价与销售报价地址之间的差异
我正在寻找可以使用的collect_totals观察者。有两个观察者, sales_quote_collect_totals_before和sales_quote_address_collect_totals_before。 它们可以在/app/code/core/Mage/Sales/Model/Quote.php和中找到/app/code/core/Mage/Sales/Model/Quote/Address.php。 我不知道这两个文件有什么区别,因为两个文件都具有collect total功能?

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.