大家好
之前有設定權限檔案access.xml
發現他有一些規則需要遵守才能夠正常使用
在這邊提供給大家參考

1.在config.xml中的 permissions 設定component需要正確


例如我的元件叫做 com_zoearth
在component的設定要記得修改才能夠在正確的元件中啟用

 

//在 config.xml
<fieldset name="permissions" label="JCONFIG_PERMISSIONS_LABEL" description="JCONFIG_PERMISSIONS_DESC">
    <field name="rules" type="rules" label="JCONFIG_PERMISSIONS_LABEL" class="inputbox" validate="rules" filter="rules" component="com_zoearth" section="component" />
</fieldset>



 


2.翻譯與描述都是必需的


例如以下的 ZOE_USER_ACCESS 與 ZOE_SETUP_ACCESS
都是必須在 zh-TW.com_zoearth.ini 中有相對應的設定才可以
如果沒有正確的翻譯
這邊的設定檔案也會讀取不出來

 

//在access.xml
<?xml version="1.0" encoding="UTF-8"?>
<access component="com_zoearth">
    <section name="component">
        <action name="core.manage" title="JACTION_MANAGE" description="JACTION_MANAGE" />
        <action name="core.admin" title="JACTION_ADMIN" description="JACTION_ADMIN" />
        <action name="com_zoearth.user" title="ZOE_USER_ACCESS" description="ZOE_USER_ACCESS" />
        <action name="com_zoearth.setup" title="ZOE_SETUP_ACCESS" description="ZOE_SETUP_ACCESS" />
        <action name="com_zoearth.lang" title="ZOE_SETUP_LANG" description="ZOE_SETUP_LANG" />
    </section>
</access>



 


3.權限名稱必須為小寫


也就是設定的權限變數在呼叫時
都會自動轉小寫
例如設定   com_zoearth.User
呼叫時必須使用 com_zoearth.user
所以最好一開始都使用小寫

JFactory::getUser()->authorise('com_zoearth.user','com_zoearth')


4.基本的兩個權限


core.manage 與 core.admin是基本要有的權限功能
core.manage是存取該元件的基本權限
core.admin是設定該元件的基本權限
當然,翻譯文字也是必須要設定正確的

 

//在access.xml
<action name="core.manage" title="JACTION_MANAGE" description="JACTION_MANAGE" />
<action name="core.admin" title="JACTION_ADMIN" description="JACTION_ADMIN" />



 


還有其他問題請在下方留言板留言喔
感謝大家!