magento|后台新增自定义菜单并添加子账户的权限控制

自定义开发了几个后台控制器,需要加入到magento的权限管理里面,然后希望能够给予子账户的权限分配。这样普通的员工,如编辑,客服使用到该功能的时候就不会再出现未授权的情况了。具体的设置方法如下:

自定义模块的config.xml里面定义adminhtml块之间的权限内容:

<adminhtml>
		<!--<layout>
			<updates>
				<common>
					<file>cadmin.xml</file>
				</common>
			</updates>
		</layout>-->
		  <menu>
		            <cadmin>
		                <title>XMS</title>
		                <sort_order>200</sort_order>
		                <children>
		                	<postcode translate="title" module="common">
		                    <title>邮编管理</title>
		                    <action>admin-common/postcode/display</action>
		                    <sort_order>0</sort_order>
		                	</postcode>
							<ocblock translate="title" module="common">
			                    <title>oc-block</title>
			                    <action>admin-common/block/index</action>
			                    <sort_order>1</sort_order>
			               </ocblock>
		                </children>
		            </cadmin>

		    </menu>
		<acl>
			    <resources>
			    		<admin>
			    			<children>
			    				<cadmin translate="title" module="common">
			                    	<title>XMS</title>
			                    	<sort_order>110</sort_order>
			                    	<children>
			                    		 <postcode translate="title">
											<title>zip manager</title>
											<sort_order>1</sort_order>
										</postcode>
										<ocblock translate="title">
												<title>oc-block</title>
												<sort_order>2</sort_order>
										</ocblock>
			           				</children>
			                    </cadmin>
			    			</children>
			    		</admin>
			    	</resources>

		</acl>

		<acl>
			<resources>
				<admin>
					<children>
						<system>
							<children>
								<config>
									<children>
										<xieyu_common>
											<title>Common通用配置</title>
										</xieyu_common>
									</children>
								</config>
							</children>
						</system>
					</children>
				</admin>
			</resources>
		</acl>
	</adminhtml>

如上图,第一个layout为定义当前模块使用的模板布局文件,第二个menu定义菜单项,里面的定义了控制器名字postcode和模块名common,以及该菜单的两个下级菜单,以及分别对应的action方法。

第三个acl代表的是权限控制列表里面的显示和配置,同样适用分组的概念,一个主title包含多个路由。具体效果如下:

以上两步走完之后,还要在对应的控制器中添加isAllowed方法,默认情况下控制器返回的值为false,如果不添加该方法则依旧会提示access not ***。

protected function _isAllowed(){
        return true;
        //return Mage::getSingleton('admin/session')->isAllowed('admin-common/postcode');
    }

网上有说添加的内容为第二行的,但是测试不行,只有直接return  true才会起效。同时测验权限控制生效,未登录下不可访问。

另外,再提一下,后台默认的xml统一配置了启用head和footer,如同样需要在模板中载入,需要在控制器中载入模板,具体如下:

$this->loadLayout();
$this->renderLayout();

这样就可以获取到菜单导航和底部的版权信息了。其他更多更丰富的功能可以在模板的xml文件中自定义。或者也可以把以上内容单独在模块的etc目录下建立一个adminhtml.xml的文件,写入进去,此方法与写入到config.xml等效。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值