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


PHP ProductInterface::getTypeInstance方法代码示例

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


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

示例1: getLinkedProducts

 /**
  * Get linked to configurable simple products
  *
  * @param ProductInterface $product
  * @return int[]
  */
 private function getLinkedProducts(ProductInterface $product)
 {
     /** @var Configurable $typeInstance */
     $typeInstance = $product->getTypeInstance();
     $childrenIds = $typeInstance->getChildrenIds($product->getId());
     if (isset($childrenIds[0])) {
         return $childrenIds[0];
     } else {
         return [];
     }
 }
开发者ID:BlackIkeEagle,项目名称:magento2-continuousphp,代码行数:17,代码来源:ReadHandler.php

示例2: load

 /**
  * @param ProductInterface $product
  * @return OptionInterface[]
  */
 public function load(ProductInterface $product)
 {
     $options = [];
     /** @var Configurable $typeInstance */
     $typeInstance = $product->getTypeInstance();
     $attributeCollection = $typeInstance->getConfigurableAttributeCollection($product);
     $this->extensionAttributesJoinProcessor->process($attributeCollection);
     foreach ($attributeCollection as $attribute) {
         $values = [];
         $attributeOptions = $attribute->getOptions();
         if (is_array($attributeOptions)) {
             foreach ($attributeOptions as $option) {
                 /** @var \Magento\ConfigurableProduct\Api\Data\OptionValueInterface $value */
                 $value = $this->optionValueFactory->create();
                 $value->setValueIndex($option['value_index']);
                 $values[] = $value;
             }
         }
         $attribute->setValues($values);
         $options[] = $attribute;
     }
     return $options;
 }
开发者ID:Doability,项目名称:magento2dev,代码行数:27,代码来源:Loader.php

示例3: getOptions

 /**
  * @param \Magento\Catalog\Api\Data\ProductInterface $product
  * @return \Magento\Bundle\Api\Data\OptionTypeInterface[]
  */
 private function getOptions(\Magento\Catalog\Api\Data\ProductInterface $product)
 {
     /** @var \Magento\Bundle\Model\Product\Type $productTypeInstance */
     $productTypeInstance = $product->getTypeInstance();
     $productTypeInstance->setStoreFilter($product->getStoreId(), $product);
     $optionCollection = $productTypeInstance->getOptionsCollection($product);
     $selectionCollection = $productTypeInstance->getSelectionsCollection($productTypeInstance->getOptionsIds($product), $product);
     $options = $optionCollection->appendSelections($selectionCollection);
     return $options;
 }
开发者ID:shabbirvividads,项目名称:magento2,代码行数:14,代码来源:LinkManagement.php

示例4: getAttributesFromConfigurable

 /**
  * Retrieve collection of Eav Attributes from Configurable product
  *
  * @param Product $product
  * @return \Magento\Catalog\Model\ResourceModel\Eav\Attribute[]
  */
 public function getAttributesFromConfigurable(Product $product)
 {
     $result = [];
     $typeInstance = $product->getTypeInstance();
     if ($typeInstance instanceof Configurable) {
         $configurableAttributes = $typeInstance->getConfigurableAttributes($product);
         /** @var \Magento\ConfigurableProduct\Model\Product\Type\Configurable\Attribute $configurableAttribute */
         foreach ($configurableAttributes as $configurableAttribute) {
             /** @var \Magento\Catalog\Model\ResourceModel\Eav\Attribute $attribute */
             $attribute = $configurableAttribute->getProductAttribute();
             $result[] = $attribute;
         }
     }
     return $result;
 }
开发者ID:pradeep-wagento,项目名称:magento2,代码行数:21,代码来源:Data.php

示例5: saveConfigurableProductLinks

 /**
  * @param \Magento\Catalog\Api\Data\ProductInterface $product
  * @param int[] $linkIds
  * @return $this
  */
 protected function saveConfigurableProductLinks(\Magento\Catalog\Api\Data\ProductInterface $product, array $linkIds)
 {
     $configurableProductTypeResource = $this->typeConfigurableFactory->create();
     if (!empty($linkIds)) {
         /** @var \Magento\ConfigurableProduct\Model\Product\Type\Configurable $configurableProductType */
         $configurableProductType = $product->getTypeInstance();
         $configurableAttributes = $configurableProductType->getConfigurableAttributes($product);
         $attributeCodes = [];
         foreach ($configurableAttributes as $configurableAttribute) {
             /** @var \Magento\Catalog\Model\ResourceModel\Eav\Attribute $productAttribute */
             $productAttribute = $configurableAttribute->getProductAttribute();
             $attributeCode = $productAttribute->getAttributeCode();
             $attributeCodes[] = $attributeCode;
         }
         $this->validateProductLinks($attributeCodes, $linkIds);
     }
     $configurableProductTypeResource->saveProducts($product, $linkIds);
     return $this;
 }
开发者ID:tingyeeh,项目名称:magento2,代码行数:24,代码来源:AroundProductRepositorySave.php


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