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