我目前正在尝试扩展 Magento Rest API。 我需要添加一些功能,例如:
问题是我无法允许休息角色读取新模块添加的新属性。
在“Rest - Roles”中,没有问题,我可以允许我的角色访问“retrieve”功能,但是当我进入“Rest - Attributes”时,没有任何内容出现,因此不可能为我的新模块允许任何内容..
如果我尝试发送请求,则会出现错误:
如果有人可以帮助我..谢谢!
api2.xml
<config>
<api2>
<resource_groups>
<categoriesmanagement translate="title" module="api2">
<title>ExtendedRest API</title>
<sort_order>10</sort_order>
</categoriesmanagement>
</resource_groups>
<resources>
<categoriesmanagement translate="title" module="api2">
<group>categoriesmanagement</group>
<model>categoriesmanagement/api2_category</model>
<title>Category Management</title>
<sort_order>10</sort_order>
<privileges>
<admin>
<retrieve>1</retrieve>
</admin>
</privileges>
<attributes>
<entity_id>Category ID</entity_id>
<name>Name</name>
<parent_id>Category Parent ID</parent_id>
<is_active>Active</is_active>
<level>Level</level>
<position>Position</position>
<children>Children Ids</children>
<url_key>URL key</url_key>
<store_id>Store ID</store_id>
</attributes>
<routes>
<route_collection>
<route>/extendedrest/categoriesmanagement</route>
<action_type>collection</action_type>
</route_collection>
</routes>
<versions>1</versions>
</categoriesmanagement>
</resources>
</api2></config>
我看到的唯一问题是缺少
working_model
,它必须是您的资源类型的子资源。 例如
<resources>
<categoriesmanagement translate="title" module="api2">
<group>categoriesmanagement</group>
<model>categoriesmanagement/api2_category</model>
<working_model>catalog/category</working_model>
working_model
值在Mage_Api2_Model_Resource::getEavAttributes
中使用来引用数据库实体的声明,或者正如您所说,“将我们的属性与现有属性链接起来”。
我在自己的项目中成功地做到了这一点,Extra RESTful。 它已经做了你正在尝试的事情,但我的时间太紧张了,现在无法完成它。 它是开源的,希望其他人也可以参与其中。