Magento:在admin

时间:2015-06-30 12:26:47

标签: api rest magento attributes

我目前正在尝试扩展Magento Rest API。 我需要添加一些功能,如:

  • 检索类别
  • 添加类别

问题在于我无法允许Rest Role读取随新模块添加的新属性。

在“休息 - 角色”中,没有问题,我可以允许我的角色访问“检索”功能,但是当我转到“休息 - 属性”时,什么也没有出现,所以不可能为我提供任何内容新模块..

如果我尝试发送请求,则会出错:

  • 403:Forbidden {“messages”:{“error”:[{“code”:403,“message”:“拒绝访问”}}}}。

如果有人可以帮助我..谢谢!

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>

1 个答案:

答案 0 :(得分:1)

我看到的唯一问题是缺少working_model,它必须是您资源类型的子级。 e.g。

<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值来引用您对数据库实体的声明,或者当您放置它时,&#34;将我们的属性与现有属性相关联&#34;。

我已经在我自己的项目Extra RESTful中成功完成了这项工作。它已经完成了你正在尝试的东西,但我的时间太紧,现在无法继续工作。它是开源的,希望其他人也可以使用它。