Hot answers tagged

33 votes
Accepted

Magento 2 : How to load quote by quote id

you can inject in your class an instance of \Magento\Quote\Model\QuoteFactory. protected $quoteFactory; public function __construct( ... \Magento\Quote\Model\QuoteFactory $quoteFactory, ...
Marius's user avatar
  • 198k
25 votes

How to get all items in cart currently?

There are several methods that work in a different way: $items = Mage::getSingleton('checkout/cart')->getQuote()->getItemsCollection(); Returns a quote item collection with all items ...
Fabian Schmengler's user avatar
18 votes
Accepted

EE 1.14.2 / CE 1.9.2: Quote items not merged correctly on login (duplicate products in cart)

Nice wrap up of the bug above, Fabian! For any further users who will come accross this bug, there is already a patch from Magento for this. As an Enterprise customer, you can request/download ...
Anna Völkl's user avatar
  • 17.3k
18 votes
Accepted

Magento 2 : Updating quote item

I am not sure about my below solution: May be you need to load Quote item object by item id As you want set price then using setPrice() you cannot set your desire price for that cart item $item = $...
Amit Bera's user avatar
  • 77.1k
17 votes

Magento 2 : How to load quote by quote id

First you need to inject a \Magento\Quote\Model\QuoteFactory in your class constructor: protected $_quoteFactory; public function __construct( ... \Magento\Quote\Model\QuoteFactory $...
Raphael at Digital Pianism's user avatar
16 votes

EE 1.14.2 / CE 1.9.2: Quote items not merged correctly on login (duplicate products in cart)

It turned out that this is a bug in Mage_Sales_Model_Quote_Item::compare() that was introduced in Magento CE 1.9.2 / EE 1.14.2. The method is used to compare items to decide if they are the same ...
Fabian Schmengler's user avatar
14 votes

How to adding Custom Attributes to Magento 2 Quotes and Orders

app/code/Vendor/Module/etc/catalog_attributes.xml <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:...
Oscprofessionals's user avatar
11 votes
Accepted

How to check if cart is empty in observer Magento 2

You can also use the cart helper protected $cartHelper; public function __construct( \Magento\Checkout\Helper\Cart $cartHelper ) { $this->cartHelper = $cartHelper; }...
Nikolas's user avatar
  • 2,271
11 votes
Accepted

Get quote item collection by using quote item id in Magento 2

private $quoteItemFactory; private $itemResourceModel; public function __construct( ..... \Magento\Quote\Model\Quote\ItemFactory $quoteItemFactory, \Magento\Quote\Model\ResourceModel\Quote\Item $...
Marius's user avatar
  • 198k
10 votes
Accepted

Magento 2 : How to Update cart after cart update event (checkout_cart_update_items_after)

I ended up using plugin di.xml <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:...
Vishwas Bhatnagar's user avatar
10 votes
Accepted

What does "setIsSuperMode" do on Quote Object in Magento 2?

Reference Link The quote is set into super mode in app/code/core/Mage/Adminhtml/Model/Session/Quote.php: $this->_quote->setIsSuperMode(true); Essentially it is a flag on the quote that this ...
Ronak Rathod's user avatar
  • 6,216
9 votes

Copy custom data from quote to order and order item once order is placed in magento2

It appears fieldsets are no longer an option for moving custom data fields around. Not clear if this is intentional, or a side-effect of other changes. I just ran into the same problem with payments. ...
Ryan Hoerr's user avatar
  • 12.2k
9 votes

How quotes and cart work in magento

A quote is cart object, this quote is created when the customer adds the first product to the cart and its not created when the customer is created. A customer can have many quotes. One for each ...
PЯINCƎ's user avatar
  • 11.6k
8 votes
Accepted

Magento 2 Rest API - How to add custom option to Cart Item?

I have working with magento2 API and below ans could be something useful for you. Step1: First of all you need to generate an empty cart for customer. If customer is already registered then you need ...
Rushvi's user avatar
  • 2,825
8 votes
Accepted

Magento 2 : Show cart items total to header cart link

You can display cart items sub-total to header minicart link. Add below code to minicart.phtml to display cart items total <span data-bind="html: getCartParam('subtotal')"></span> php ...
Suresh Chikani's user avatar
8 votes
Accepted

Will quote be removed after order created?

When the order is placed, the quote is deactivated. The field is_active is set to 0. There is a cron that removes all the inactive quotes that are older than X days. The cron is sales_clean_quotes and ...
Marius's user avatar
  • 198k
7 votes
Accepted

Magento: Quote vs Cart

The cart model is an abstraction for the quote (or better: for the items in the cart) and you should use it wherever possible. Working with the quote object directly when it comes to adding, removing ...
Fabian Schmengler's user avatar
7 votes
Accepted

Update custom column data in quote table Magento 2

The easiest way to solve this is to fill in this field in the quote model and save it using the Repository: class QuoteUpdater { /** * @var \Magento\Quote\Model\QuoteRepository */ ...
Mageworx's user avatar
  • 3,786
7 votes
Accepted

Magento 2 | Get number of items in cart

$helper = $this->helper('\Magento\Checkout\Helper\Cart'); echo $helper->getSummaryCount();
PЯINCƎ's user avatar
  • 11.6k
7 votes
Accepted

How to properly get current quote in Carrier Collect Rates function?

You can not directly get quote in collect rate. The $this->checkoutSession->getQuote() will call your collectRates function at the end, so you will end up getting infinite loop. the $request ...
Shoaib Munir's user avatar
  • 9,284
6 votes
Accepted

Quote: getOrigOrderId vs. getReservedOrderId

The Magento\Quote\Model\Quote::getReservedOrderId() method is used when Order is placed and Quote is in the process of converting to a new Order. reserved_order_id then saved as new increment_id in ...
Max Pronko's user avatar
  • 1,765
6 votes
Accepted

Magento 2 - How to programmatically add a product to cart multiple times but with different options?

Somewhere in Magento 2 code is the answer : /** * We need to reload product in this place, because products * with the same id may have different sets of order attributes. */ It means that when I ...
DependencyHell's user avatar
6 votes

How to add custom option in quote or order item

You can achieve by a plugin in Magento 2.2.* First of all, we need to create an observer file and one Magento event file to implement this functionality. <?xml version="1.0"?> <config ...
shah dhairya's user avatar
6 votes

How to get the Quote Id from Masked Quote Id (QuoteIdMask) in magento 2

Since 2.3 version of Magento you can use the \Magento\Quote\Model\MaskedQuoteIdToQuoteIdInterface::execute(string $maskedQuoteId) to obtain a real quote id (int): <?php namespace Vendor\Module\...
Siarhey Uchukhlebau's user avatar
6 votes
Accepted

Magento 2 : how to convert custom quote field to order field

add the fields to both table quote and sales_order via a setup script in your module. Then add an event in your module (see below) <?xml version="1.0"?> <config xmlns:xsi=&...
Herve Tribouilloy's user avatar
5 votes

Copy custom data from quote to order and order item once order is placed in magento2

Magento2 sales convert from quote to order and its item is not working quote Convert model for quote to order and its item is moved from sales module to Quote module in Magento2 But its not ...
Pradeep Kumar's user avatar
5 votes

$quote->setHasErrors(true); not working

As you probably saw on my answer for Quote/QuoteItem addErrorInfo is not persistent. The setHasError in Magento behaves like a success/failure session message. This means once the message has been ...
Alvin Nguyen's user avatar
5 votes
Accepted

Is there a valid reason two orders would have the same quote id?

From a clean Magento standpoint, no. Every order should only be related to one quote, and vice-versa. I know there are some modules out there that will use a single quote for multiple orders to ...
Brett's user avatar
  • 1,844
5 votes
Accepted

How to get the billing address from a quote instance: Magento 2

These error comes from a method public function getFormattedAddress(Address $address) because you expect to get the order address as a first argument. Try to remove the argument validation: public ...
Siarhey Uchukhlebau's user avatar
5 votes

Magento 2: Change quote from current quote to other quote id

Give a try $quote = $this->quoteRepository->get(**<Your_quote_id>**); $quote->setIsActive(1); $quoteRepository->save($quote); $this->checkoutSession->replaceQuote(...
Nikolas's user avatar
  • 2,271

Only top scored, non community-wiki answers of a minimum length are eligible