當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Item::addOption方法代碼示例

本文整理匯總了PHP中Magento\Quote\Model\Quote\Item::addOption方法的典型用法代碼示例。如果您正苦於以下問題:PHP Item::addOption方法的具體用法?PHP Item::addOption怎麽用?PHP Item::addOption使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Magento\Quote\Model\Quote\Item的用法示例。


在下文中一共展示了Item::addOption方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: testGetBuyRequestOptionByCode

 public function testGetBuyRequestOptionByCode()
 {
     $optionCode = "info_buyRequest";
     $buyRequestQuantity = 23;
     $optionMock = $this->getMockBuilder('Magento\\Quote\\Model\\Quote\\Item\\Option')->setMethods(['setItem', 'getCode', '__wakeup', 'getValue'])->disableOriginalConstructor()->getMock();
     $optionMock->expects($this->once())->method('setItem')->with($this->model)->will($this->returnValue($optionMock));
     $optionMock->expects($this->exactly(3))->method('getCode')->will($this->returnValue($optionCode));
     $optionMock->expects($this->once())->method('getValue')->will($this->returnValue(serialize(['qty' => $buyRequestQuantity])));
     $this->model->addOption($optionMock);
     $quantity = 12;
     $this->localeFormat->expects($this->at(0))->method('getNumber')->with($quantity)->will($this->returnValue($quantity));
     $this->model->setQty($quantity);
     $this->assertEquals($quantity, $this->model->getQty());
     $buyRequest = $this->model->getBuyRequest();
     $this->assertEquals($buyRequestQuantity, $buyRequest->getOriginalQty());
     $this->assertEquals($quantity, $buyRequest->getQty());
 }
開發者ID:,項目名稱:,代碼行數:17,代碼來源:

示例2: _assignOptionsToItem

 /**
  * Assign options to item
  *
  * @param \Magento\Quote\Model\Quote\Item $item
  * @param array $options
  * @return $this
  */
 protected function _assignOptionsToItem(\Magento\Quote\Model\Quote\Item $item, $options)
 {
     $optionIds = $item->getOptionByCode('option_ids');
     if ($optionIds) {
         foreach (explode(',', $optionIds->getValue()) as $optionId) {
             $item->removeOption('option_' . $optionId);
         }
         $item->removeOption('option_ids');
     }
     if ($item->getOptionByCode('additional_options')) {
         $item->removeOption('additional_options');
     }
     $item->save();
     if (!empty($options['options'])) {
         $item->addOption(new \Magento\Framework\DataObject(['product' => $item->getProduct(), 'code' => 'option_ids', 'value' => implode(',', array_keys($options['options']))]));
         foreach ($options['options'] as $optionId => $optionValue) {
             $item->addOption(new \Magento\Framework\DataObject(['product' => $item->getProduct(), 'code' => 'option_' . $optionId, 'value' => $optionValue]));
         }
     }
     if (!empty($options['additional_options'])) {
         $item->addOption(new \Magento\Framework\DataObject(['product' => $item->getProduct(), 'code' => 'additional_options', 'value' => serialize($options['additional_options'])]));
     }
     return $this;
 }
開發者ID:whoople,項目名稱:magento2-testing,代碼行數:31,代碼來源:Create.php

示例3: unsetCustomPrice

 /**
  * Unset custom_price data for quote item
  *
  * @param Item $item
  * @return void
  */
 protected function unsetCustomPrice(Item $item)
 {
     /** @var \Magento\Framework\DataObject $infoBuyRequest */
     $infoBuyRequest = $item->getBuyRequest();
     if ($infoBuyRequest->hasData('custom_price')) {
         $infoBuyRequest->unsetData('custom_price');
         $infoBuyRequest->setValue(serialize($infoBuyRequest->getData()));
         $infoBuyRequest->setCode('info_buyRequest');
         $infoBuyRequest->setProduct($item->getProduct());
         $item->addOption($infoBuyRequest);
     }
     $item->unsetData('custom_price');
     $item->unsetData('original_custom_price');
 }
開發者ID:kidaa30,項目名稱:magento2-platformsh,代碼行數:20,代碼來源:Updater.php


注:本文中的Magento\Quote\Model\Quote\Item::addOption方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。