第八天
一、 Magento后台功能定制化实例测试:增加访问权限控制(ACL)
1. 在Admindev模块下的/etc/adminhtml.xml中,增加相关的ACL配置
1 <acl> 2 <resources> 3 <all> 4 <title>Allow Everything</title> 5 </all> 6 <admin> 7 <children> 8 <system> 9 <children> 10 <admindev> 11 <title>Admin Dev Page</title> 12 <sort_order>0</sort_order> 13 </admindev> 14 </children> 15 </system> 16 </children> 17 </admin> 18 </resources> 19 </acl>
在权限配置显示结果如下,相关账号权限测试这里不再赘述。
二、 Magento后台功能定制化实例测试:拓展系统配置选项
1. 在Admindev模块中的etc文件夹下,创建system.xml和adminhtml.xml(已创建)文件;
2. 通过配置system.xml,增加一个左侧导航目录;
1 <config> 2 <tabs> 3 <yema translate="label" module="admindev"> 4 <label>YEMA</label> 5 <sort_order>400</sort_order> 6 </yema> 7 </tabs> 8 <sections> 9 <admindev translate="label" module="admindev"> 10 <label>Admin Dev Configuration</label> 11 <tab>yema</tab> 12 <frontend_type>text</frontend_type> 13 <sort_order>10</sort_order> 14 <show_in_default>1</show_in_default> 15 <show_in_website>1</show_in_website> 16 <show_in_store>1</show_in_store> 17 </admindev> 18 </sections> 19 </config>
此时访问后台System->Configuration会报没有Mage\Admindev\Helper\Data.php的错
3. 配置Admindev模块的帮助类,配置模块的config.xml文件
1 <global> 2 <helpers> 3 <admindev> 4 <class>YEMA_Admindev_Helper</class> 5 </admindev> 6 </helpers> 7 </global>
4. 创建Admindev模块的帮助类/Admindev/Helper/Data.php
class YEMA_Admindev_Helper_Data extends Mage_Core_Helper_Data {}
完成后,此时显示效果如下:
5. 当点击Admin Dev Configuration时,页面将报404错误。这是因为,还没对该配置单元创建访问权限控制(ACL)。请根据段落“增加访问权限控制(ACL)”配置模块的ACL。
1 <config> 2 <menu> 3 <system> 4 <children> 5 <admindev_menu> 6 <title>AdminDev</title> 7 <sort_order>10</sort_order> 8 <action>adminhtml/admindev_index</action> 9 </admindev_menu> 10 </children> 11 </system> 12 </menu> 13 <acl> 14 <resources> 15 <all> 16 <title>Allow Everything</title> 17 </all> 18 <admin> 19 <children> 20 <system> 21 <children> 22 <admindev_menu> 23 <title>Admin Dev Page</title> 24 <sort_order>100</sort_order> 25 </admindev_menu> 26 <config> 27 <children> 28 <admindev_config> 29 <title>Admindev Section</title> 30 <sort_order>100</sort_order> 31 </admindev_config> 32 </children> 33 </config> 34 </children> 35 </system> 36 </children> 37 </admin> 38 </resources> 39 </acl> 40 </config>
6. 在system.xml中增加Groups内容
1 <groups> 2 <admindevpage translate="label"> 3 <label>Admin Dev Page Settings</label> 4 <sort_order>1</sort_order> 5 <show_in_default>1</show_in_default> 6 <show_in_website>1</show_in_website> 7 <show_in_store>1</show_in_store> 8 <fields> 9 <header_title translate="label"> 10 <label>Header Title</label> 11 <frontend_type>text</frontend_type> 12 <sort_order>1</sort_order> 13 <show_in_default>1</show_in_default> 14 <show_in_website>1</show_in_website> 15 <show_in_store>1</show_in_store> 16 </header_title> 17 </fields> 18 </admindevpage> 19 </groups>
配置完成后,显示如下:
7. 在配置中填入内容Modified by pisTol on 20160203,之后该数据将会数据库core_config_data表中,查询语句如下:select * from core_config_data where path='admindev_config/admindevpage/header_title';
8. 如何使用该配置值:
1 Mage::getStoreConfig('admindev_config/admindevpage/header_title');