Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Item.php
Go to the documentation of this file.
1 <?php
7 
9 
89 class Item extends \Magento\Quote\Model\Quote\Item\AbstractItem
90 {
96  protected $_address;
97 
101  protected $_quote;
102 
106  protected function _construct()
107  {
108  $this->_init(\Magento\Quote\Model\ResourceModel\Quote\Address\Item::class);
109  }
110 
114  public function beforeSave()
115  {
116  parent::beforeSave();
117  if ($this->getAddress()) {
118  $this->setQuoteAddressId($this->getAddress()->getId());
119  }
120  return $this;
121  }
122 
129  public function setAddress(\Magento\Quote\Model\Quote\Address $address)
130  {
131  $this->_address = $address;
132  $this->_quote = $address->getQuote();
133  return $this;
134  }
135 
141  public function getAddress()
142  {
143  return $this->_address;
144  }
145 
151  public function getQuote()
152  {
153  return $this->_quote;
154  }
155 
161  {
162  $this->_quote = $quoteItem->getQuote();
163  $this->setQuoteItem(
164  $quoteItem
165  )->setQuoteItemId(
166  $quoteItem->getId()
167  )->setProductId(
168  $quoteItem->getProductId()
169  )->setProduct(
170  $quoteItem->getProduct()
171  )->setSku(
172  $quoteItem->getSku()
173  )->setName(
174  $quoteItem->getName()
175  )->setDescription(
176  $quoteItem->getDescription()
177  )->setWeight(
178  $quoteItem->getWeight()
179  )->setPrice(
180  $quoteItem->getPrice()
181  )->setCost(
182  $quoteItem->getCost()
183  );
184 
185  if (!$this->hasQty()) {
186  $this->setQty($quoteItem->getQty());
187  }
188  $this->setQuoteItemImported(true);
189  return $this;
190  }
191 
196  public function getOptionBycode($code)
197  {
198  if ($this->getQuoteItem()) {
199  return $this->getQuoteItem()->getOptionBycode($code);
200  }
201  return null;
202  }
203 }
setAddress(\Magento\Quote\Model\Quote\Address $address)
Definition: Item.php:129
importQuoteItem(\Magento\Quote\Model\Quote\Item $quoteItem)
Definition: Item.php:160
$address
Definition: customer.php:38
$quoteItem
Definition: quote.php:38
$code
Definition: info.phtml:12