我正在创建一个新的joomla组件。
我已经将组件压缩在一个zip文件中并安装了它,一切工作正常,当我以超级用户登录时,我可以在组件菜单(在后端离线)中看到组件。问题是,当我以经理身份登录时,我无法在该菜单中看到组件,尽管如此,如果我将浏览器直接指向组件url,我可以访问它。
这是一个非常简单的组件(没有配置或access.xml),我只是希望经理和超级用户在菜单中看到组件。
在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