如何在magento管理面板中添加菜单?

时间:2013-04-24 07:51:50

标签: magento magento-1.7

我正在寻找有关如何执行以下操作的一些建议或信息。我想在magento管理面板中添加一个菜单。我正在尝试很多方法,但没有工作。如何在管理面板中添加额外的一个菜单。请指教......

4 个答案:

答案 0 :(得分:6)

如果这是您的自定义模块,您需要在etc / config.xml中添加以下内容:

<adminhtml>
  <menu>
      <report>
        <children>
          <module name>
            <title>Title to show in the menu bar</title>
            <sort_order>0</sort_order>
            <action>Modules controller action</action>
          </module name>
        </children>
      </report>
    </menu>
 </adminhtml>

上面的示例将向报告选项卡添加一个新项目,并在控制器中触发操作以执行某些操作。希望这会有所帮助。

答案 1 :(得分:0)

您可以使用自定义模块添加菜单 以下教程对我帮助很大 请点击here

答案 2 :(得分:0)

我正在创建一个模块。

info - 公司名称文件夹

ExtendedMenu - 模块名称

我在模块文件夹中创建了2个新文件夹。

等&amp;块

etc文件夹我正在创建config.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <modules>
        <Info_ExtendedMenu>
            <version>0.1.0</version>
        </Info_ExtendedMenu>
    </modules>
    <global>
        <blocks>
            <configurable>
                <class>Info_Configurable_Block</class>
            </configurable>
            <adminhtml>
                <rewrite>
                    <page_menu>Info_ExtendedMenu_Block_Adminhtml_Menu</page_menu>
                </rewrite>
            </adminhtml>
        </blocks>
        <blocks>
            <configurable>
                <class>Inchoo_Configurable_Block</class>
            </configurable>
        </blocks>
    </global>
</config>

阻止 - Adminhtml - Menu.php

<?php
class Info_ExtendedMenu_Block_Adminhtml_Menu extends Mage_Adminhtml_Block_Page_Menu
{
    public function getMenuArray()
    {
        //Load standard menu
        $parentArr = parent::getMenuArray();

        //Prepare "View Sites" menu
        $parentArr['view_sites'] = array(
            'label' => 'Web2Print',
            'active'=>false ,
            'sort_order'=>0,
            'click' => 'return false;',
            'url'=>'#',
            'level'=>0,
            'last'=> true,
            'children' => array()
        );

        $app = Mage::app();

        $j = 0;

        $allWebsites = $app->getWebsites();
        $totalWebsiteCount = count($allWebsites) - 1;

        foreach ($allWebsites as $_eachWebsiteId => $websiteVal){
            $_storeName = $app->getWebsite($_eachWebsiteId)->getName();
            $baseUrl = $app->getStore($_eachStoreId)->getUrl();
            $_websiteUrl = array(
                            'label' => 'View Admin',
                            'active' => false ,
                            'click' => "var extraurl='w2p/admin/index.php';alert(this.href+extraurl); window.open(this.href+extraurl, 'Website - '+ this.href); return false;",
                            'sort_order' => $i++ * 10,
                            'level' => 2,
                            'url' => $baseUrl
                            );

            if(count($parentArr['view_sites']['children']) == $totalWebsiteCount){
                $_websiteUrl['last'] = true;
            } else {
                $_websiteUrl['last'] = false;
            }

            $parentArr['view_sites']['children'][$j - 1] = $_websiteUrl;

            $allStores = $app->getWebsite($app->getWebsite($_eachWebsiteId)->getId())->getStores();
            $totalCount = count($allStores);
            $i = 0;
            foreach ($allStores as $_eachStoreId => $val){
                $_websiteId = $app->getStore($_eachStoreId)->getWebsiteId();
                if($_websiteId == $j){
                    $_storeName = 'View Admin';
                    $baseUrl = $app->getStore($_eachStoreId)->getUrl();
                    $_websiteUrl = array(
                            'label' => $_storeName,
                            'active' => false ,
                            'click' => "var extraurl='w2p/admin/index.php';alert(this.href+extraurl); window.open(this.href+extraurl, 'Website - '+ this.href); return false;",
                            'sort_order' => $i++ * 10,
                            'level' => 2,
                            'url' => $baseUrl
                            );

                    if(count($parentArr['view_sites']['children'][$j - 1]['children']) + 1 == $totalCount or $totalCount == 0)
                        $_websiteUrl['last'] = true;
                        else
                        $_websiteUrl['last'] = false;

                    $parentArr['view_sites']['children'][$j - 1]['children'][$i] = $_websiteUrl;
                }
            }
        }
        return $parentArr;
    }
}

您还需要转到magento基本文件夹路径app-etc-modules-youemodule name(Inchoo_ExtendedMenu.xml)

<?xml version="1.0"?>
<config>
    <modules>
        <Inchoo_ExtendedMenu>
            <active>true</active>
            <codePool>local</codePool>
        </Inchoo_ExtendedMenu>
    </modules>
</config>

创建菜单。欢呼声。

答案 3 :(得分:-1)

什么菜单?你在谈论扩展吗?

为了做到这一点,你有:System > Magento connect > Magento connect manager

修改

Theres是管理此内容的扩展程序,请查看:Custom Menu Magento