您的位置:首页 > 其它

How to create your own api with ACL in Magento

2010-03-12 11:18 716 查看
Finally, I got my customize api works with Magento today. I was confusing by the complex configuration xml files in magento, here I post my example which might be helpful though.

This example passed testing under Magento ver 1.3.2.4 using XML-RPC in .net platform.

Steps:

1. /app/etc/modules/Hanix_All.xml

1 <?xml version="1.0"?>
2 <config>
3 <modules>
4 <Hanix_Customize>
5 <active>true</active>
6 <codePool>local</codePool>
7 </Hanix_Customize>
8 </modules>
9 </config>

2. /app/code/local/Hanix/



3. /app/code/local/Hanix/Customize/etc/config.xml

1 <?xml version="1.0"?>
2 <config>
3
4 <modules>
5 <Hanix_Customize>
6 <version>0.1.0</version>
7 </Hanix_Customize>
8 </modules>
9
10 <global>
11
12 <models>
13 <customize>
14 <class>Hanix_Customize_Model</class>
15 </customize>
16 </models>
17
18 </global>
19
20 </config>

4. /app/code/local/Hanix/Customize/etc/api.xml

1 <?xml version="1.0"?>
2 <config>
3 <api>
4
5 <resources>
6 <customize_api translate="title" module="customize">
7
8 <title>Customize Resource</title>
9 <model>customize/api</model>
10 <acl>customize</acl>
11
12 <methods>
13 <test translate="title" module="customize">
14 <title>Test Method</title>
15 <acl>customize/test</acl>
16 </test>
17 </methods>
18
19 </customize_api>
20 </resources>
21
22 <acl>
23 <resources>
24 <customize translate="title" module="customize">
25 <title>Customize APIs</title>
26 <sort_order>1</sort_order>
27 <test translate="title" module="customize">
28 <title>Test api</title>
29 </test>
30 </customize>
31 </resources>
32 </acl>
33
34 </api>
35 </config>

5. /app/code/local/Hanix/Customize/Model/Api.php

1 <?php
2
3 class Hanix_Customize_Model_Api extends Mage_Api_Model_Resource_Abstract
4 {
5 public function test()
6 {
7 return "hello test...";
8 }
9 }

OK! that are the five steps what you need to be done. And don't forget to refresh the magento cache or just simply disable it. Now go to Magento backend: System/Web Service/Roles. Your api will be there.



Now, you can create an web service account to perform test. I used my own xml-rpc api showed below:





As can be seen, string "hello test..." returns correctly.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: