Magento管理菜单块没有显示在配置选项卡中?

时间:2013-08-07 07:45:20

标签: php xml magento magento-1.7

我只是magento扩展程序的新手。我想在storeinfo中创建一个名为magento version 1.7.0.2的新模块。为此我有app/local的文件夹结构就像这样

magento directory
  app
    code
      community
      core
      local---
            |--- New(foldername)--
                  |---Storeinfo(foldername)--
                        |-Block
                          controllers
                          etc
                          Helper
                          sql
<{1}}内的New_Storeinfo.xml的代码就是这样的

magentodirectory/app/etc

现在目录 <?xml version="1.0"?> <config> <modules> <New_Storeinfo> <active>true</active> <codePool>local</codePool> </New_Storeinfo> </modules> </config> 内部就像这样

magentodirectory/app/code/local/New/Storeinfo/etc/config.xml

现在对于目录<?xml version="1.0"?> <config> <modules> <New_Storeinfo> <version>0.1.1</version> </New_Storeinfo> </modules> <frontend> <routers> <storeinfo> <use>standard</use> <args> <module>New_Storeinfo</module> <frontName>storeinfo</frontName> </args> </storeinfo> </routers> <layout> <updates> <storeinfo> <file>newstoreinfo.xml</file> </storeinfo> </updates> </layout> </frontend> <adminhtml> <acl> <resources> <all> <title>Allow Everything</title> </all> <admin> <children> <system> <children> <config> <children> <storeinfo> <title>Store Map</title> </storeinfo> </children> </config> </children> </system> </children> </admin> </resources> </acl> </adminhtml> <global> <models> <storeinfo> <class>New_Storeinfo_Model</class> <resourceModel>storeinfo_mysql4</resourceModel> </storeinfo> </models> <resources> <storeinfo_setup> <setup> <module>New_Storeinfo</module> </setup> <connection> <use>core_setup</use> </connection> </storeinfo_setup> <storeinfo_write> <connection> <use>core_write</use> </connection> </storeinfo_write> <storeinfo_read> <connection> <use>core_read</use> </connection> </storeinfo_read> </resources> <blocks> <storeinfo><class>New_Storeinfo_Block</class></storeinfo> </blocks> <helpers> <storeinfo> <class>New_Storeinfo_Helper</class> </storeinfo> </helpers> </global> <default> <storeinfo> <address> <enabled>1</enabled> <title>Our Store Address</title> <address>Replace this with Your Address with or without HTML code here....</address> </address> <storeinfo> <enabled>1</enabled> <title>Our Location Map</title> <map_location>Paste Map HTML code here...</map_location> </storeinfo> </storeinfo> </default> </config> ,我的代码就像这样

magentodirectory/app/code/local/New/Storeinfo/etc/system.xml

但是在所有代码之后,Storeinfo的菜单没有显示在magento的管理配置选项卡中。那么有人可以告诉我这里的问题是什么吗?任何帮助和建议都会非常明显。感谢...

6 个答案:

答案 0 :(得分:1)

试试这种方式。它用于为magento admin创建一个菜单选项卡。

根据需要创建文件夹结构。

然后 app / code / local / company_name / module_name / etc / config.xml

<?xml version="1.0"?>
<config>
    <modules>
        <JR_CreateAdminController>
            <version>1.0.0</version>
        </JR_CreateAdminController>
    </modules>
    <global>
        <helpers>
            <jr_createadmincontroller>
                <!-- Helper definition needed by Magento -->
                <class>Mage_Core_Helper</class>
            </jr_createadmincontroller>
        </helpers>
    </global>
    <admin>
        <routers>
            <adminhtml>
                <args>
                    <modules>
                        <foo_bar before="Mage_Adminhtml">JR_CreateAdminController_Adminhtml</foo_bar>
                    </modules>
                </args>
            </adminhtml>
        </routers>
    </admin>
</config>

然后使用这种方式创建管理面板菜单 app / code / community / company_name / module_name / etc / adminhtml.xml

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <menu>
        <mycustomtab module="jr_createadmincontroller" translate="title">
            <title>My Custom Tab</title>
            <sort_order>100</sort_order>
            <children>
                <index module="jr_createadmincontroller" translate="title">
                    <title>Index Action</title>
                    <sort_order>1</sort_order>
                    <action>adminhtml/custom</action>
                </index>
                <list module="jr_createadmincontroller" translate="title">
                    <title>List Action</title>
                    <sort_order>2</sort_order>
                    <action>adminhtml/custom/list</action>
                </list>
            </children>
        </mycustomtab>
    </menu>
    <acl>
        <resources>
            <admin>
                <children>
                    <custom translate="title" module="jr_createadmincontroller">
                        <title>My Controller</title>
                        <sort_order>-100</sort_order>
                        <children>
                            <index translate="title">
                                <title>Index Action</title>
                                <sort_order>1</sort_order>
                            </index>
                            <list translate="title">
                                <title>List Action</title>
                                <sort_order>2</sort_order>
                            </list>
                        </children>
                    </custom>
                </children>
            </admin>
        </resources>
    </acl>
</config>

您可以为模块创建自己的控制器 应用/代码/小区/ COMPANY_NAME / MODULE_NAME /控制器/ Adminhtml / CustomController.php

<?php

class JR_CreateAdminController_Adminhtml_CustomController extends Mage_Adminhtml_Controller_Action
{
    public function indexAction()
    {
        $this->loadLayout()
            ->_setActiveMenu('mycustomtab')
            ->_title($this->__('Index Action'));

        // my stuff

        $this->renderLayout();
    }

    public function listAction()
    {
        $this->loadLayout()
            ->_setActiveMenu('mycustomtab')
            ->_title($this->__('List Action'));

        // my stuff

        $this->renderLayout();
    }
}

并且您想要创建配置选项卡: 创建system.xml并使用此代码

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <tabs>
        <inchoo translate="label" module="mymodule">
            <label>Inchoo Extensions</label>
            <sort_order>100</sort_order>
        </inchoo>
    </tabs>
    <sections>
        <inchoo translate="label" module="mymodule">
            <label>Extension Options</label>
            <tab>inchoo</tab>
            <sort_order>1000</sort_order>
            <show_in_default>1</show_in_default>
            <show_in_website>1</show_in_website>
            <show_in_store>1</show_in_store>
            <groups>
                <inchoo_group translate="label" module="mymodule">
                    <label>My Extension Options</label>
                    <frontend_type>text</frontend_type>
                    <sort_order>1000</sort_order>
                    <show_in_default>1</show_in_default>
                    <show_in_website>1</show_in_website>
                    <show_in_store>1</show_in_store>
                    <fields>
                        <inchoo_input translate="label">
                            <label>My Input Field: </label>
                            <comment>My Comment</comment>
                            <frontend_type>text</frontend_type>
                            <sort_order>20</sort_order>
                            <show_in_default>1</show_in_default>
                            <show_in_website>1</show_in_website>
                            <show_in_store>1</show_in_store>
                        </inchoo_input>
                        <inchoo_select translate="label">
                            <label>My Dropdown: </label>
                            <comment>Source model provider Magento's default Yes/No values</comment>
                            <frontend_type>select</frontend_type>
                            <sort_order>90</sort_order>
                            <show_in_default>1</show_in_default>
                            <show_in_website>1</show_in_website>
                            <show_in_store>1</show_in_store>
                            <source_model>adminhtml/system_config_source_yesno</source_model>
                        </inchoo_select>
                    </fields>
                </inchoo_group>
            </groups>
        </inchoo>
    </sections>
</config>

我相信这对你有用。

答案 1 :(得分:1)

magento.stackexchange.com已回答了有关其他详细信息的问题 问题出在声明xml文件中。标记<codepool>应为<codePool> - 大写P

答案 2 :(得分:1)

从config.xml中删除以下代码

<adminhtml>
    <acl>
      <resources>
        <all>
          <title>Allow Everything</title>
        </all>
        <admin>
          <children>
            <system>
              <children>
                <config>
                  <children>
                    <storeinfo>
                      <title>Store Map</title>
                    </storeinfo>
                  </children>
                </config>
              </children>
            </system>
          </children>
        </admin>
      </resources>
    </acl>
  </adminhtml>

并在etc文件夹中创建一个adminhtml.xml文件,其中包含以下内容

<?xml version="1.0"?>
<config>
    <acl>
      <resources>
        <all>
          <title>Allow Everything</title>
        </all>
        <admin>
          <children>
            <system>
              <children>
                <config>
                  <children>
                    <storeinfo>
                      <title>Store Map</title>
                    </storeinfo>
                  </children>
                </config>
              </children>
            </system>
          </children>
        </admin>
      </resources>
    </acl>
  </config>

答案 3 :(得分:1)

我建议使用生成器来构建大多数基本的东西,以避免拼写错误等。

http://www.silksoftware.com/magento-module-creator

答案 4 :(得分:1)

除非是拼写错误,否则你提到你的New_Storeinfo.xml位于:

magentodirectory/app/etc


这应该位于此文件夹中:

magentodirectory/app/etc/modules

刷新缓存,现在您的模块应显示在System - &gt;下配置 - &gt;先进

答案 5 :(得分:0)

你没有这个问题,但为了后人,我注意到如果你的/app/etc/modules/New_Storeinfo.xml文件中有任何评论,该模块将不会显示在系统&gt;配置&gt;高级&gt;高级::禁用模块输出