gpt4 book ai didi

rest - 如何通过简单产品 Magento 2 REST API 进行配置

转载 作者:行者123 更新时间:2023-12-03 01:04:45 24 4
gpt4 key购买 nike

问题很简单,如何通过 REST API Magento 2 通过简单产品获得可配置产品?

我使用以下调用来获取简单的产品:

http://127.0.0.1/magento2/index.php/rest/V1/products/prdConfig-RED

谢谢

最佳答案

我创建了一个新模块,它接受子产品 id 作为参数并返回父产品 id 和其他属性,如名称、缩略图......

注册.php

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

etc/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>

etc/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>

etc/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>

Api/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;
}
}

关于rest - 如何通过简单产品 Magento 2 REST API 进行配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46479995/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com