我只是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的管理配置选项卡中。那么有人可以告诉我这里的问题是什么吗?任何帮助和建议都会非常明显。感谢...
答案 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)
我建议使用生成器来构建大多数基本的东西,以避免拼写错误等。
答案 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;高级::禁用模块输出