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