当前位置: 首页>>代码示例>>PHP>>正文


PHP Item::getBuyRequest方法代码示例

本文整理汇总了PHP中Magento\Sales\Model\Order\Item::getBuyRequest方法的典型用法代码示例。如果您正苦于以下问题:PHP Item::getBuyRequest方法的具体用法?PHP Item::getBuyRequest怎么用?PHP Item::getBuyRequest使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Magento\Sales\Model\Order\Item的用法示例。


在下文中一共展示了Item::getBuyRequest方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: assertOrderItem

 /**
  * @param \Magento\Sales\Model\Order\Item $orderItem
  * @param array $response
  * @return void
  */
 protected function assertOrderItem(\Magento\Sales\Model\Order\Item $orderItem, array $response)
 {
     $bundleOption = $orderItem->getBuyRequest()->getBundleOption();
     $bundleOptionQty = $orderItem->getBuyRequest()->getBundleOptionQty();
     $this->assertArrayHasKey('product_option', $response);
     $this->assertArrayHasKey('extension_attributes', $response['product_option']);
     $this->assertArrayHasKey('bundle_options', $response['product_option']['extension_attributes']);
     $actualOptions = $response['product_option']['extension_attributes']['bundle_options'];
     $this->assertEquals(array_keys($bundleOption), array_column($actualOptions, 'option_id'));
     $this->assertEquals($bundleOptionQty, array_column($actualOptions, 'option_qty', 'option_id'));
     foreach ($actualOptions as $option) {
         $expectedSelections = is_array($bundleOption[$option['option_id']]) ? $bundleOption[$option['option_id']] : [$bundleOption[$option['option_id']]];
         $this->assertEquals($expectedSelections, $option['option_selections']);
     }
 }
开发者ID:andrewhowdencom,项目名称:m2onk8s,代码行数:20,代码来源:OrderItemRepositoryTest.php

示例2: assertOrderItem

 /**
  * @param \Magento\Sales\Model\Order\Item $orderItem
  * @param array $response
  * @return void
  */
 protected function assertOrderItem(\Magento\Sales\Model\Order\Item $orderItem, array $response)
 {
     $expected = $orderItem->getBuyRequest()->getLinks();
     $this->assertArrayHasKey('product_option', $response);
     $this->assertArrayHasKey('extension_attributes', $response['product_option']);
     $this->assertArrayHasKey('downloadable_option', $response['product_option']['extension_attributes']);
     $actualOptions = $response['product_option']['extension_attributes']['downloadable_option'];
     $this->assertArrayHasKey('downloadable_links', $actualOptions);
     $this->assertEquals($expected, $actualOptions['downloadable_links']);
 }
开发者ID:whoople,项目名称:magento2-testing,代码行数:15,代码来源:OrderItemRepositoryTest.php

示例3: assertOrderItem

 /**
  * @param \Magento\Sales\Model\Order\Item $orderItem
  * @param array $response
  * @return void
  */
 protected function assertOrderItem(\Magento\Sales\Model\Order\Item $orderItem, array $response)
 {
     $expected = $orderItem->getBuyRequest()->getSuperAttribute();
     $this->assertArrayHasKey('product_option', $response);
     $this->assertArrayHasKey('extension_attributes', $response['product_option']);
     $this->assertArrayHasKey('configurable_item_options', $response['product_option']['extension_attributes']);
     $actualOptions = $response['product_option']['extension_attributes']['configurable_item_options'];
     $this->assertTrue(is_array($actualOptions));
     $this->assertTrue(is_array($actualOptions[0]));
     $this->assertArrayHasKey('option_id', $actualOptions[0]);
     $this->assertArrayHasKey('option_value', $actualOptions[0]);
     $this->assertEquals(key($expected), $actualOptions[0]['option_id']);
     $this->assertEquals(current($expected), $actualOptions[0]['option_value']);
 }
开发者ID:andrewhowdencom,项目名称:m2onk8s,代码行数:19,代码来源:OrderItemRepositoryTest.php

示例4: assertOrderItem

 /**
  * @param \Magento\Sales\Model\Order\Item $orderItem
  * @param array $response
  * @return void
  */
 protected function assertOrderItem(\Magento\Sales\Model\Order\Item $orderItem, array $response)
 {
     $expected = $orderItem->getBuyRequest()->getOptions();
     $this->assertArrayHasKey('product_option', $response);
     $this->assertArrayHasKey('extension_attributes', $response['product_option']);
     $this->assertArrayHasKey('custom_options', $response['product_option']['extension_attributes']);
     $actualOptions = $response['product_option']['extension_attributes']['custom_options'];
     $expectedOptions = [];
     foreach ($expected as $optionId => $optionValue) {
         if (is_array($optionValue)) {
             $optionValue = implode(',', $optionValue);
         }
         $expectedOptions[] = ['option_id' => $optionId, 'option_value' => $optionValue];
     }
     $this->assertEquals($expectedOptions, $actualOptions);
 }
开发者ID:andrewhowdencom,项目名称:m2onk8s,代码行数:21,代码来源:OrderItemRepositoryTest.php

示例5: initFromOrderItem

 /**
  * Initialize creation data from existing order Item
  *
  * @param \Magento\Sales\Model\Order\Item $orderItem
  * @param int $qty
  * @return \Magento\Quote\Model\Quote\Item|string|$this
  */
 public function initFromOrderItem(\Magento\Sales\Model\Order\Item $orderItem, $qty = null)
 {
     if (!$orderItem->getId()) {
         return $this;
     }
     $product = $this->_objectManager->create('Magento\\Catalog\\Model\\Product')->setStoreId($this->getSession()->getStoreId())->load($orderItem->getProductId());
     if ($product->getId()) {
         $product->setSkipCheckRequiredOption(true);
         $buyRequest = $orderItem->getBuyRequest();
         if (is_numeric($qty)) {
             $buyRequest->setQty($qty);
         }
         $item = $this->getQuote()->addProduct($product, $buyRequest);
         if (is_string($item)) {
             return $item;
         }
         if ($additionalOptions = $orderItem->getProductOptionByCode('additional_options')) {
             $item->addOption(new \Magento\Framework\DataObject(['product' => $item->getProduct(), 'code' => 'additional_options', 'value' => serialize($additionalOptions)]));
         }
         $this->_eventManager->dispatch('sales_convert_order_item_to_quote_item', ['order_item' => $orderItem, 'quote_item' => $item]);
         return $item;
     }
     return $this;
 }
开发者ID:whoople,项目名称:magento2-testing,代码行数:31,代码来源:Create.php

示例6: buildItemName

 /**
  * Returns the name for a sales item.
  * Configurable products will have their chosen options added to their name.
  * Bundle products will have their chosen child product names added.
  * Grouped products will have their parents name prepended.
  * All others will have their own name only.
  *
  * @param Item $item the sales item model.
  *
  * @return string
  */
 protected function buildItemName(Item $item)
 {
     $name = $item->getName();
     $optNames = array();
     if ($item->getProductType() === Type::TYPE_SIMPLE) {
         $type = $item->getProduct()->getTypeInstance();
         $parentIds = $type->getParentIdsByChild($item->getProductId());
         // If the product has a configurable parent, we assume we should tag
         // the parent. If there are many parent IDs, we are safer to tag the
         // products own name alone.
         if (count($parentIds) === 1) {
             $attributes = $item->getBuyRequest()->getData('super_attribute');
             if (is_array($attributes)) {
                 foreach ($attributes as $id => $value) {
                     /** @var Attribute $attribute */
                     $attribute = $this->_objectManager->get('Magento\\Catalog\\Model\\ResourceModel\\Eav\\Attribute')->load($id);
                     $label = $attribute->getSource()->getOptionText($value);
                     if (!empty($label)) {
                         $optNames[] = $label;
                     }
                 }
             }
         }
     } elseif ($item->getProductType() === Configurable::TYPE_CODE) {
         $opts = $item->getProductOptionByCode('attributes_info');
         if (is_array($opts)) {
             foreach ($opts as $opt) {
                 if (isset($opt['value']) && is_string($opt['value'])) {
                     $optNames[] = $opt['value'];
                 }
             }
         }
     } elseif ($item->getProductType() === Type::TYPE_BUNDLE) {
         $opts = $item->getProductOptionByCode('bundle_options');
         if (is_array($opts)) {
             foreach ($opts as $opt) {
                 if (isset($opt['value']) && is_array($opt['value'])) {
                     foreach ($opt['value'] as $val) {
                         $qty = '';
                         if (isset($val['qty']) && is_int($val['qty'])) {
                             $qty .= $val['qty'] . ' x ';
                         }
                         if (isset($val['title']) && is_string($val['title'])) {
                             $optNames[] = $qty . $val['title'];
                         }
                     }
                 }
             }
         }
     } elseif ($item->getProductType() === Grouped::TYPE_CODE) {
         $config = $item->getProductOptionByCode('super_product_config');
         if (isset($config['product_id'])) {
             /** @var Product $parent */
             $parent = $this->_objectManager->get('Magento\\Catalog\\Model\\Product')->load($config['product_id']);
             $parentName = $parent->getName();
             if (!empty($parentName)) {
                 $name = $parentName . ' - ' . $name;
             }
         }
     }
     if (!empty($optNames)) {
         $name .= ' (' . implode(', ', $optNames) . ')';
     }
     return $name;
 }
开发者ID:Nosto,项目名称:nosto-magento2,代码行数:76,代码来源:Builder.php


注:本文中的Magento\Sales\Model\Order\Item::getBuyRequest方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。