Magento学习手记(第八天)

第八天

一、 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');

 

posted @ 2016-03-15 19:44  爱偷懒的程序员pisTol  阅读(259)  评论(0编辑  收藏  举报