2017-09-29 43 views

回答

2

我創建了孩子接受產品ID作爲參數,並返回父產品一個新的模塊ID和其他屬性,如姓名,縮略圖....

registeration.php

<?php 
\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::MODULE, 
    'WebAPI_GetParentProductThumbnail', 
    __DIR__ 
); 

等/ module.xml

<?xml version="1.0" ?> 
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> 
    <module name="WebAPI_GetParentProductThumbnail" setup_version="1.0.0"/> 
</config> 

等/ di.xml

<?xml version="1.0" ?> 
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> 
    <preference for="WebAPI\GetParentProductThumbnail\Api\ChildThumbnailManagementInterface" type="WebAPI\GetParentProductThumbnail\Model\ChildThumbnailManagement"/> 
</config> 

等/ webapi.xml

<?xml version="1.0" ?> 
<routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Webapi:etc/webapi.xsd"> 
    <route method="GET" url="/V1/webapi-getparentproductthumbnail/childthumbnail"> 
     <service class="WebAPI\GetParentProductThumbnail\Api\ChildThumbnailManagementInterface" method="getChildThumbnail"/> 
     <resources> 
      <resource ref="anonymous"/> 
     </resources> 
    </route> 
</routes> 

阿比/ ChildThumbnailManagementInterface.php

<?php 

namespace WebAPI\GetParentProductThumbnail\Api; 

interface ChildThumbnailManagementInterface 
{ 


    /** 
    * GET for ChildThumbnail api 
    * @param string $product_id 
    * @return string 
    */ 
    public function getChildThumbnail($product_id); 
} 

型號/ ChildThumbnailManagement.php

<?php 


namespace WebAPI\GetParentProductThumbnail\Model; 

class ChildThumbnailManagement 
{ 


    /** 
    * {@inheritdoc} 
    */ 
    public function getChildThumbnail($product_id) 
    { 
     $objectManager = \Magento\Framework\App\ObjectManager::getInstance();   

     if($product_id != ""){ 
      //This method getParentIdsByChild($child_id) get the parent id of a configurable product. 
      $parent_product = $objectManager->create('Magento\ConfigurableProduct\Model\ResourceModel\Product\Type\Configurable')->getParentIdsByChild($product_id); 
      if(isset($parent_product[0])) 
      { 
       $parent_id = $parent_product[0]; 

       //Parent object where you can get Thumbnail, name.... etc 
       //$parent_object = $objectManager->create('Magento\Catalog\Model\Product')->load($parent_product[0]); 

       echo parent_id; 
      } 
     } 
     return null; 
    } 
} 
相關問題