大家好
之前有設定權限檔案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" />
還有其他問題請在下方留言板留言喔
感謝大家!
留言板
歡迎留下建議與分享!希望一起交流!感恩!