-1
如何在magento中創建自定義Api和Api2併爲這些Api和Api2授予權限?如何在magento中創建自定義Api和Api2併爲這些Api和Api2授予權限?
你可以給任何人舉個例子嗎?
在此先感謝。
如何在magento中創建自定義Api和Api2併爲這些Api和Api2授予權限?如何在magento中創建自定義Api和Api2併爲這些Api和Api2授予權限?
你可以給任何人舉個例子嗎?
在此先感謝。
請看看我下面的自定義代碼,可能是它的幫助你,
api.xml
<config>
<modules>
<Agentgallery>
<version>0.1.0</version>
</Agentgallery>
</modules>
<api>
<resources>
<agentgallery translate="title" module="agentgallery">
<model>agentgallery/api</model>
<title>Tax Rule Api</title>
<acl>agentgallery</acl>
<methods>
<gettaxrule translate="title" module="agentgallery">
<title>Retrieve tax rule data</title>
<acl>agentgallery/gettaxrule</acl>
</gettaxrule>
</methods>
</agentgallery>
</resources>
<acl>
<resources>
<agentgallery translate="title" module="agentgallery">
<title>Tax Rule</title>
<gettaxrule translate="title" module="agentgallery">
<title>Get tax rule</title>
</gettaxrule>
</agentgallery>
<all>
</all>
</resources>
</acl>
</api>
</config>
wsdl.xml
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns:typens="urn:{{var wsdl.name}}" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/"
name="{{var wsdl.name}}" targetNamespace="urn:{{var wsdl.name}}">
<message name="agentgalleryGettaxruleRequest">
<part name="sessionId" type="xsd:string" />
<part name="arg" type="xsd:string" />
</message>
<message name="agentgalleryGettaxruleResponse">
<part name="result" type="xsd:string" />
</message>
<portType name="{{var wsdl.handler}}PortType">
<operation name="agentgalleryGettaxrule">
<documentation>Test Method</documentation>
<input message="typens:agentgalleryGettaxruleRequest" />
<output message="typens:agentgalleryGettaxruleResponse" />
</operation>
</portType>
<binding name="{{var wsdl.handler}}Binding" type="typens:{{var wsdl.handler}}PortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
<operation name="agentgalleryGettaxrule">
<soap:operation soapAction="urn:{{var wsdl.handler}}Action" />
<input>
<soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
</binding>
</definitions>
Api.php模塊內的模型文件夾
<?php
class Namespace_Modulename_Model_Api extends Mage_Api_Model_Resource_Abstract
{
public function gettaxrule($customerTaxClass,$productTaxClass)
{
$result = Mage::getResourceModel('tax/calculation')->getRatesForWebservices($customerTaxClass,$productTaxClass);
//here you can paste your code whatever you need instead of $result variable
return $result;
}
}
?>
模型/ Objectmodel/API /文件夾內V2.php文件
<?php
class Namespace_Modulename_Model_Objectmodel_Api_V2 extends Companyname_Modulename_Model_Objectmodel_Api
{
}
?>
後,你可以打電話給你的方法,如下面 這裏你喜歡這個
調用方法後創建API的對象$result = $checkData->proxyObj()->call($sessionId, 'agentgallery.gettaxrule',array($customerTaxClass,$productTaxClass));
這裏「agentgallery.gettaxrule」是自定義方法。
試試這個