1.下面是自定义模块添加后台菜单配置
- 在/app/etc/modules/下面添加 Lollicupstore_Payment.xml
<?xml version="1.0" encoding="UTF-8" ?>
<config>
<modules>
<Lollicupstore_Payment>
<active>true</active>
<codePool>local</codePool>
</Lollicupstore_Payment>
</modules>
</config>
- 建立文件\app\code\local\Lollicupstore\Payment\etc\config.xml
<?xml version="1.0"?>
<config>
<modules>
<Lollicupstore_Payment>
<version>1.0</version>
</Lollicupstore_Payment>
</modules>
<admin> <!--下面action 路由配置开始,不配置,url路由将显示404->
<routers>
<adminhtml>
<args>
<modules>
<lollicupstore_payment before="Mage_Adminhtml">Lollicupstore_Payment_Adminhtml</lollicupstore_payment>
</modules>
</args>
</adminhtml>
</routers>
</admin>
<!--路由配置结束-->
<adminhtml>
<menu>
<payment module="payment">
<title>Mobile Payment</title>
<sort_order>800</sort_order>
<children>
<items module="payment">
<title>Payment Configration</title>
<sort_order>0</sort_order>
<!--<action>blog/adminhtml_blog</action>-->
<children>
<paypal module="payment">
<title>PayPal</title>
<sort_order>1</sort_order>
<action>adminhtml/paypal</action>
</paypal>
<cybersource module="payment">
<title>Cybersource</title>
<sort_order>2</sort_order>
<action>adminhtml/cybersource</action>
</cybersource>
</children>
</items>
</children>
</payment>
</menu>
</adminhtml>
<global>
<helpers>
<payment>
<class>Lollicupstore_Payment_Helper</class>
</payment>
</helpers>
</global>
</config>
- 创建:\app\code\local\Lollicupstore\Payment\Helper\Data.php
<?php
/**
* Created by PhpStorm.
* User: lollicup
* Date: 2019/5/16
* Time: 10:44
*/
class Lollicupstore_Payment_Helper_Data extends Mage_Core_Helper_Abstract
{
}
- 创建\app\code\local\Lollicupstore\Payment\controllers\Adminhtml\CybersourceController.php
\app\code\local\Lollicupstore\Payment\controllers\Adminhtml\PaypalController.php
- 代码如下:
<?php
/**
* Created by PhpStorm.
* User: lollicup
* Date: 2019/5/16
* Time: 11:47
*/
class Lollicupstore_Payment_Adminhtml_CybersourceController extends Mage_Adminhtml_Controller_Action
{
/**
*
*/
public function indexAction()
{
exit('cybersource:index');
}
}
<?php
/**
* Created by PhpStorm.
* User: lollicup
* Date: 2019/5/16
* Time: 11:14
*/
class Lollicupstore_Payment_Adminhtml_PaypalController extends Mage_Adminhtml_Controller_Action{
protected function _isAllowed()
{
return true;
}
/**
*
*/
public function indexAction()
{
exit('paypal:index');
}
}
- 代码结构如下:
参考网站:
http://www.bubblecode.net/en/2012/02/08/magento-create-your-own-admin-controller-in-a-new-tab/
Alanstorm :Magento Admin Hello World Revisited https://alanstorm.com/magento_admin_hello_world_revisited/
参考地址:
https://tonytemplates.com/blog/how-to-create-a-new-menu-item-in-the-magento-admin-panel/
- 菜单ACL
我们的菜单项目还不完善。上面,我们告诉您以具有特殊所有权限的用户身份登录管理控制台。如果您忽略了此建议,并以具有限制权限的用户身份登录,则您将看不到该菜单项。
这是因为Magento的管理控制台只呈现用户有明确权限查看的菜单项。在所有的用户可以查看所有的明确许可,但用户与指定角色的资源没有。
要为我们的新菜单项payment(admin/
paypal)添加ACL权限,请将以下节点添加到您的adminhtml.xml
文件中。
<!--Access Control Settings-->
<acl>
<resources>
<admin>
<children>
<payment translate="title" module="payment">
<title>Mobile Payment</title>
<sort_order>1000</sort_order>
<children>
<payment_items translate="title" module="payment">
<title>Payment Configuration</title>
<sort_order>10</sort_order>
<children>
<payment_paypal translate="title" module="payment">
<title>Paypal</title>
<sort_order>9</sort_order>
</payment_paypal>
<payment_cybersource translate="title" module="payment">
<title>Cybersource</title>
<sort_order>10</sort_order>
</payment_cybersource>
</children>
</payment_items>
</children>
</payment>
</children>
</admin>
</resources>
</acl>
完成上述操作后,清除缓存并查看System -> Permissions -> Roles
管理部分中的角色
2. 网络例子admin后台添加菜单
文件 – app / etc / modules / TonyTemplate_Blog.xml
<?xml version="1.0"?>
<config>
<modules>
<TonyTemplate_Blog>
<active>true</active>
<codePool>local</codePool>
</TonyTemplate_Blog>
</modules>
</config>
此文件由Magento引擎读取并将文件添加到全局配置。现在Magento知道我们的新模块。
文件 – app / code / local / TonyTemplate / Blog / etc / config.xml
这是我们模块的主要配置文件(该文件也将添加到全局XML配置文件中)。该文件描述了菜单部分的结构
<?xml version="1.0"?>
<config>
<modules>
<TonyTemplate_Blog>
<version>0.1.0</version>
</TonyTemplate_Blog>
</modules>
<admin>
<routers>
<blog>
<use>admin</use>
<args>
<module>TonyTemplate_Blog</module>
<frontName>blog</frontName>
</args>
</blog>
</routers>
</admin>
<adminhtml>
<menu>
<blog module="blog">
<title>Blog</title>
<sort_order>71</sort_order>
<children>
<items module="blog">
<title>Manage Items</title>
<sort_order>0</sort_order>
<action>blog/adminhtml_blog</action>
</items>
</children>
</blog>
</menu>
</adminhtml>
</config>
在<sort_order>的帮助下,可以对菜单项进行排序。
要创建菜单的子元素,请使用<children>。新元素可以具有任意名称。例如,要添加新菜单项“注释”,您可以添加
<comments module="blog">
<title>Comments</title>
<sort_order>1</sort_order>
<action>blog/adminhtml_comment</action>
</comments>
结果,你应该得到
<children>
<items module="blog">
<title>Manage Items</title>
<sort_order>0</sort_order>
<action>blog/adminhtml_blog</action>
</items>
<comments module="blog">
<title>Comments</title>
<sort_order>1</sort_order>
<action>blog/adminhtml_comment</action>
</comments>
</children>
这就是菜单的创建。
这是由于Magento运行的特殊性,它需要一个帮手。我们还不需要它,所以让我们创建一个空助手。
文件 – app / code / local / TonyTemplate / Blog / Helper / Data.php
<?php
class TonyTemplate_Blog_Helper_Data extends Mage_Core_Helper_Abstract
{
}
为了让Magento知道模块配置文件中的帮助器,应该留下以下内容:
<global>
<helpers>
<blog>
<class>TonyTemplate_Blog_Helper</class>
</blog>
</helpers>
</global>
可以在此处下载生成的模块的存档文件
就这样。在新帖子中见到你。