Php 自定义Magento管理模块,网格使用block-';磁芯异常';带有消息';无效的块类型';

Php 自定义Magento管理模块,网格使用block-';磁芯异常';带有消息';无效的块类型';,php,xml,magento,Php,Xml,Magento,我正在开发一个自定义magento管理后端模块,该模块将有一个网格,其中包含可以添加/编辑的项。这是我的模块结构: /Mycompany/ ---/Mymodule/ -------/Block/ -----------/Adminhtml --------------/Manageskumappings.php --------------/Manageskumappings/ -----------------/Grid.php -----------------/Edit.php ----

我正在开发一个自定义magento管理后端模块,该模块将有一个网格,其中包含可以添加/编辑的项。这是我的模块结构:

/Mycompany/
---/Mymodule/
-------/Block/
-----------/Adminhtml
--------------/Manageskumappings.php
--------------/Manageskumappings/
-----------------/Grid.php
-----------------/Edit.php
-----------------/Edit/
--------------------/Form.php
-------/controllers/
-----------/Adminhtml
--------------/ManageskumappingsController.php
-------/etc/
-------/Helper/
-------/Model/
-------/sql/
这是我的模块的
config.xml

<?xml version="1.0"?>
<config>

    <!-- Module Info -->
    <modules>
        <Mycompany_Mymodule>
            <version>2.0.0</version>
        </Mycompany_Mymodule>
    </modules>
    
    <!-- Module Globals -->
    <global>
    
        <!-- Register Helper -->
        <helpers>
            <mycompany_mymodule>
                <class>Mycompany_Mymodule_Helper</class>
            </mycompany_mymodule>
        </helpers>
        
        <!-- Register Models -->
        <models>
            <mycompany_mymodule>
                <class>Mycompany_Mymodule_Model</class>
                <resourceModel>mycompany_mymodule_mysql4</resourceModel>
            </mycompany_mymodule>
            <mycompany_mymodule_mysql4>
                <class>Mycompany_Mymodule_Model_Mysql4</class>
                <entities>
                    <skumappings>
                        <table>icw_ic_skumappings</table>
                    </skumappings>
                </entities>
            </mycompany_mymodule_mysql4>
        </models>
        
        <!-- Register Resource -->
        <resources>
            <mycompany_mymodule_setup>
                <setup>
                    <module>Mycompany_Mymodule</module>
                </setup>
            </mycompany_mymodule_setup>
        </resources>
        
    </global>
    
    <!-- Admin Router -->
    <admin>
        <routers>
            <adminhtml>
                <args>
                    <modules>
                        <Mycompany_Mymodule after="Mage_Adminhtml">Mycompany_Mymodule_Adminhtml</Mycompany_Mymodule>
                    </modules>
                </args>
            </adminhtml>
        </routers>
    </admin>
    
    <!-- Admin Layout -->
    <adminhtml>
        <layout>
            <updates>
                <mycompany_mymodule>
                    <file>mycompany/mymodule.xml</file>
                </mycompany_mymodule>
            </updates>
        </layout>
    </adminhtml>
    
</config>
我已创建以下布局文件:

app/design/adminhtml/default/default/layout/mycompany/mymodule.xml

定义如下:

<?xml version="1.0"?>
<layout>

    <!-- Manage SKU Mappings -->
    <adminhtml_manageskumappings_index>
        <reference name="content">
            <block type="mycompany_mymodule/adminhtml_manageskumappings" name="mycompany_mymodule_manageskumappings" />
        </reference>
    </adminhtml_manageskumappings_index>

</layout>

这是我的网格控制器:

app/code/community/Mycompany/Mymodule/controllers/Adminhtml/manageskumappingscocontroller.php

使用以下代码:

<?php

class Mycompany_Mymodule_Adminhtml_ManageskumappingsController extends Mage_Adminhtml_Controller_Action
{
    protected function _isAllowed()
    {
        return Mage::getSingleton('admin/session')
            ->isAllowed('mycompany/manageskumappings');
    }

    protected function _initAction()
    {
        $this->loadLayout()
            ->_setActiveMenu('mycompany/mycompany_mymodule_manageskumappings')
            ->_title('Manage SKU Mappings');
         
        return $this;
    }

    public function indexAction()
    {  
        $this->_initAction()
            ->renderLayout();
    }
    
    // ... Snipped ...

我看到的第一个错误是:您忘记注册块了。请将块定义部分添加到modules config.xml:

<config>
...
    <global>
    ...
        <!-- Register Blocks -->
        <blocks>
            <mycompany_mymodule>
                <class>Mycompany_Mymodule_Block</class>
            </mycompany_mymodule>
        </blocks>
    ...
    </global>
...
<config>

...
...
Mycompany\u Mymodule\u Block
...
...

我真傻。我想是的。谢谢
<config>
...
    <global>
    ...
        <!-- Register Blocks -->
        <blocks>
            <mycompany_mymodule>
                <class>Mycompany_Mymodule_Block</class>
            </mycompany_mymodule>
        </blocks>
    ...
    </global>
...
<config>