添加块但不显示

时间:2015-05-08 07:00:20

标签: php magento adminhtml

我想在销售中放置一个新区块 - >交易 - >视图。所以我创建了一个新块并将该块添加到模板中。

网络/应用/设计/ adminhtml /默认/公司/布局/那个local.xml

<adminhtml_sales_transactions_view>
    <reference name="content">
        <block type="company_module/adminhtml_sales_transactions_error_grid" name="sales_transactions.error.grid" as="error_grid"/>
    </reference>
</adminhtml_sales_transactions_view>

网络/应用程序/代码/本地/公司/模块/块/ Adminhtml /销售/交易/错误/ Grid.php

class Comapny_Module_Block_Adminhtml_Sales_Transactions_Error_Grid extends Mage_Adminhtml_Block_Sales_Transactions_Grid
{
    public function __construct()
    {
        parent::__construct();
        $this->setId('transactionErrorGrid');
        $this->setPagerVisibility(false);
        $this->setFilterVisibility(false);
    }

    ....

该类看起来像web / app / code / core / Mage / Adminhtml / Block / Sales / Transactions / Detail / Grid.php。

/web/app/design/adminhtml/default/company/template/sales/transactions/detail.phtml

<?php echo $this->getChildHtml('error_grid') ?>

为什么新的块没有显示?

修改

好的,我检查了exeption.log并找到了:

exception 'Mage_Core_Exception' with message 'Invalid block type: Mage_Company_Module_Block_Adminhtml_Sales_Transactions_Error_Grid' in /var/www/html/web/app/Mage.php:595
Stack trace:
#0 /var/www/html/web/app/code/core/Mage/Core/Model/Layout.php(495): Mage::throwException('Invalid block t...')
#1 /var/www/html/web/app/code/core/Mage/Core/Model/Layout.php(437): Mage_Core_Model_Layout->_getBlockInstance('company_module...', Array)
#2 /var/www/html/web/app/code/core/Mage/Core/Model/Layout.php(472): Mage_Core_Model_Layout->createBlock('company_module...', 'error_grid')
#3 /var/www/html/web/app/code/core/Mage/Core/Model/Layout.php(239): Mage_Core_Model_Layout->addBlock('company_module...', 'error_grid')

我调试了这个,发现getGroupedClassName函数中的web / app / code / core / Mage / Core / Model / Config.php有问题。 magento从配置中加载groupType,这是null。所以这个函数在我的类名之前添加了一个Mage_,这个Mage-Class没有存在。

任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

问题是来自扩展程序的config.xml文件中的错误组名。更改此问题后,问题就解决了。