0

我正在创建一个新的 joomla 组件。

我已经将组件压缩到一个 zip 文件中并安装了它,一切正常,当我以超级用户身份登录时,我可以在组件菜单(在后端偏离课程中)看到该组件。问题是当我以经理身份登录时,我在该菜单中看不到组件,但是如果我将浏览器直接指向组件 url,我可以访问它。

这是一个非常简单的组件(没有配置或 access.xml) 我只希望管理员和超级用户都能在菜单中看到该组件。

4

1 回答 1

1

在 config.xml 你必须添加这个-

<fieldset
        name="permissions"
        label="JCONFIG_PERMISSIONS_LABEL"
        description="JCONFIG_PERMISSIONS_DESC"
        >

        <field
            name="rules"
            type="rules"
            label="JCONFIG_PERMISSIONS_LABEL"
            class="inputbox"
            filter="rules"
            validate="rules"
            component="com_component"
            section="component" />
    </fieldset>

会有一个access.xml文件——

<?xml version="1.0" encoding="utf-8"?>
<access component="com_component">
    <section name="component">
        <action name="core.admin" title="JACTION_ADMIN" description="JACTION_ADMIN_COMPONENT_DESC" />
        <action name="core.manage" title="JACTION_MANAGE" description="JACTION_MANAGE_COMPONENT_DESC" />
        <action name="core.create" title="JACTION_CREATE" description="JACTION_CREATE_COMPONENT_DESC" />
        <action name="core.delete" title="JACTION_DELETE" description="JACTION_DELETE_COMPONENT_DESC" />
        <action name="core.edit" title="JACTION_EDIT" description="JACTION_EDIT_COMPONENT_DESC" />
        <action name="core.edit.state" title="JACTION_EDITSTATE" description="JACTION_EDITSTATE_COMPONENT_DESC" />
    </section>
    <section name="category">
        <action name="core.create" title="JACTION_CREATE" description="COM_CATEGORIES_ACCESS_CREATE_DESC" />
        <action name="core.delete" title="JACTION_DELETE" description="COM_CATEGORIES_ACCESS_DELETE_DESC" />
        <action name="core.edit" title="JACTION_EDIT" description="COM_CATEGORIES_ACCESS_EDIT_DESC" />
        <action name="core.edit.state" title="JACTION_EDITSTATE" description="COM_CATEGORIES_ACCESS_EDITSTATE_DESC" />
    </section>
</access>

阅读更多 - http://docs.joomla.org/Adding_ACL_rules_to_your_component

希望这会有所帮助。

于 2013-01-22T08:04:05.073 回答