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


PHP ProductInterface::getConfigurableAttributesData方法代码示例

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


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

示例1: saveConfigurableOptions

 /**
  * Save configurable product attributes
  *
  * @param ProductInterface $product
  * @return void
  * @throws \Exception
  * @deprecated
  */
 private function saveConfigurableOptions(ProductInterface $product)
 {
     $data = $product->getConfigurableAttributesData();
     if (!$data) {
         return;
     }
     $metadata = $this->metadataPool->getMetadata(ProductInterface::class);
     foreach ($data as $attributeData) {
         /** @var $configurableAttribute \Magento\ConfigurableProduct\Model\Product\Type\Configurable\Attribute */
         $configurableAttribute = $this->configurableAttributeFactory->create();
         if (!$product->getIsDuplicate()) {
             if (!empty($attributeData['id'])) {
                 $configurableAttribute->load($attributeData['id']);
                 $attributeData['attribute_id'] = $configurableAttribute->getAttributeId();
             } elseif (!empty($attributeData['attribute_id'])) {
                 $attribute = $this->_eavConfig->getAttribute(\Magento\Catalog\Model\Product::ENTITY, $attributeData['attribute_id']);
                 $attributeData['attribute_id'] = $attribute->getId();
                 if (!$this->canUseAttribute($attribute)) {
                     throw new \InvalidArgumentException('Provided attribute can not be used with configurable product');
                 }
                 $configurableAttribute->loadByProductAndAttribute($product, $attribute);
             }
         }
         unset($attributeData['id']);
         $configurableAttribute->addData($attributeData)->setStoreId($product->getStoreId())->setProductId($product->getData($metadata->getLinkField()))->save();
     }
     /** @var $configurableAttributesCollection \Magento\ConfigurableProduct\Model\ResourceModel\Product\Type\Configurable\Attribute\Collection  */
     $configurableAttributesCollection = $this->_attributeCollectionFactory->create();
     $configurableAttributesCollection->setProductFilter($product);
     $configurableAttributesCollection->addFieldToFilter('attribute_id', ['nin' => $this->getUsedProductAttributeIds($product)]);
     $configurableAttributesCollection->walk('delete');
 }
开发者ID:BlackIkeEagle,项目名称:magento2-continuousphp,代码行数:40,代码来源:Configurable.php


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