简体   繁体   English

Magento adminhtml类别选项卡块覆盖错误

[英]Error on Magento adminhtml category tab block override

When i try to override " app\\code\\core\\Mage\\Adminhtml\\Block\\Catalog\\Category\\Tab " this Block Mage_Adminhtml_Block_Catalog_Category_Tab_Product for add new column in category product listing tab 当我尝试覆盖“ app \\ code \\ core \\ Mage \\ Adminhtml \\ Block \\ Catalog \\ Category \\ Tab ”时,此块Mage_Adminhtml_Block_Catalog_Category_Tab_Product在类别产品列表选项卡中添加新列

I have get this error 我得到这个错误

Fatal error: Call to a member function toHtml() on a non-object in D:\\xampp\\htdocs\\magento_new\\app\\code\\core\\Mage\\Adminhtml\\Block\\Catalog\\Category\\Tabs.php on line 153 致命错误:在第153行的D:\\ xampp \\ htdocs \\ magento_new \\ app \\ code \\ core \\ Mage \\ Adminhtml \\ Block \\ Catalog \\ Category \\ Tabs.php中的非对象上调用成员函数toHtml()

My code 我的密码

Module config xml app\\code\\local\\Krp\\Adminhtml\\etc\\config.xml 模块配置xml app \\ code \\ local \\ Krp \\ Adminhtml \\ etc \\ config.xml

<?xml version="1.0"?>
<config>
    <modules>
        <Krp_Adminhtml>
            <version>0.1</version>
        </Krp_Adminhtml>
    </modules>

    <global>
        <blocks>
            <adminhtml>
                <rewrite>
                    <catalog_category_tab_product>Krp_Adminhtml_Block_Catalog_Category_Tab_Product</catalog_category_tab_product>
                </rewrite>
            </adminhtml>            
        </blocks>
    </global>    
</config>

app\\etc\\modules\\Krp_Adminhtml.xml app \\ etc \\ modules \\ Krp_Adminhtml.xml

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

Block file code app\\code\\local\\Krp\\Adminhtml\\Block\\Catalog\\Category\\Tab\\Product.php 阻止文件代码app \\ code \\ local \\ Krp \\ Adminhtml \\ Block \\ Catalog \\ Category \\ Tab \\ Product.php

class Krp_Adminhtml_Block_Catalog_Category_Tab_Product extends Mage_Adminhtml_Block_Catalog_Category_Tab_Product{

   protected function _prepareCollection(){
    //=============== Code ==================//
   }

}

You forgot to configure the name of the block class. 您忘记配置块类的名称。

config.xml config.xml

    <config>
    ...
        <global>
        ...
            <blocks>
                <krp_adminhtml>
                    <class>Krp_Adminhtml_Block</class>
                </krp_adminhtml>

                <adminhtml>
                    <rewrite>
                        <catalog_category_tab_product>Krp_Adminhtml_Block_Catalog_Category_Tab_Product</catalog_category_tab_product>
                    </rewrite>
                </adminhtml>
            </blocks>
        ...
        </global>
    ...
    </config>

/app/code/local/Krp/Adminhtml/Block/Adminhtml/Catalog/Category/Tab/Product.php /app/code/local/Krp/Adminhtml/Block/Adminhtml/Catalog/Category/Tab/Product.php

File should be as following : 文件应如下:

<?php
class Krp_Adminhtml_Block_Adminhtml_Catalog_Category_Tab_Product extends Mage_Adminhtml_Block_Catalog_Category_Tab_Product
{
}

Your confing.xml should be as following : 您的confing.xml应该如下所示:

<?xml version="1.0"?>
<config>
  <modules>
    <Krp_Adminhtml>
      <version>1.0.0</version>
    </Krp_Adminhtml>
  </modules>
  <global>
    <helpers>
      <adminhtml>
        <class>Krp_Adminhtml_Helper</class>
      </adminhtml>
    </helpers>
    <blocks>
      <adminhtml>
        <class>Krp_Adminhtml_Block</class>
      </adminhtml>
            <adminhtml>
                <rewrite>
                    <catalog_category_tab_product>Krp_Adminhtml_Block_Adminhtml_Catalog_Category_Tab_Product</catalog_category_tab_product>
                </rewrite>
            </adminhtml>
    </blocks>
  </global>
</config> 

And finally Helper class if required /app/code/local/Krp/Adminhtml/Helper/Data.php 最后是Helper类(如果需要)/app/code/local/Krp/Adminhtml/Helper/Data.php

 <?php
    class Krp_Adminhtml_Helper_Data extends Mage_Core_Helper_Abstract
    {
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM