gpt4 book ai didi

php - 在自定义模块中扩展 Magento REST API

转载 作者:可可西里 更新时间:2023-10-31 23:20:41 27 4
gpt4 key购买 nike

我想使用 Magento Rest-Api 将自定义数据添加到 Magento 表中。我已经在 Magento 数据库中添加了一个表,并使用以下链接创建了带有 Rest API 的模块

http://web.archive.org/web/20130512072025/http://magepim.com/news/Extending-the-Magento-REST-API-part-1_13

现在我想使用 Rest API 将数据添加到 Magento 表中...

我需要在 api.xml/api2.xmlV1.php 文件中进行更改。

请帮助我,我已经使用产品 api2.xml 文件的引用尝试了许多代码。但没有运气。

当我运行以下 URL 时

http://magento-host/api/rest/magepim/products/count

它将执行 V1.php 文件的 _retrieve() 函数,但是如何使用 PHP RestApi oauth 调用 _create() 函数

最佳答案

magento\app\code\core\Mage\Api2\Model\Resource.php仅允许创建方法的集合操作类型。因此在 api2.xml 文件中进行了更改,并在属性标记中设置了必填字段

magento\app\code\community\MagePim\Extapi\etc\api2.xml

<?xml version="1.0"?>
<config>
<api2>
<resource_groups>
<extapi translate="title" module="api2">
<title>Custom API calls</title>
<children>
<extapi translate="title" module="api2">
<title>My Api</title>
</extapi>
</children>
</extapi>
</resource_groups>
<resources>
<extapi translate="title" module="api2">
<group>extapi</group>
<model>extapi/api2</model>
<working_model>extapi/api2</working_model>
<title>Custom Api</title>
<privileges>
<admin>
<create>1</create>
<retrieve>1</retrieve>
<update>1</update>
<delete>1</delete>
</admin>
</privileges>
<attributes>
<owner_id>Owner ID</owner_id>
<identityid>Identity ID</identityid>
<social_id>Social ID</social_id>
<status>Status</status>
<text>Text</text>
<request_timestamp>Request Time</request_timestamp>
<status_timestamp>Status Time</status_timestamp>
</attributes>
<routes>
<!-- Call For V1.php _retrieve() -->
<route_entity>
<route>/scheduler</route>
<action_type>entity</action_type>
</route_entity>
<!-- Call For V1.php _create() -->
<route_collection>
<route>/scheduler/create</route>
<action_type>collection</action_type>
</route_collection>
</routes>
<versions>1</versions>
</extapi>
</resources>
</api2>
</config>

magento\app\code\community\MagePim\Extapi\Model\Api2\Rest\Admin\V1.php

/**
* Override for Magento's REST API
*/
class Magepim_Extapi_Model_Api2_Rest_Admin_V1 extends Mage_Api2_Model_Resource {

protected function _retrieve(){
return json_encode($shedulerData);
}
protected function _create($shedulerData){
return json_encode($shedulerData);
}
protected function _retrieveCollection(){
return json_encode(array('method'=>'_retrieveCollection'));
}
....................
}

关于php - 在自定义模块中扩展 Magento REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22224378/

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