adminhtml_sales_order_view中的addTab:"无效的块类型:Mage _..."

时间:2015-11-19 09:37:50

标签: php magento

修改:除了以下代码之外,我还尝试完成本教程所说的内容:http://www.magentothemess.com/archives/1267 Magento仍然想要一个块,这个名字以" Mage _"开头。 :(

原帖

我已经尝试过这么多教程,但Magento仍在说同样的话:

  

无效的Blocktype:Mage_AdminModifications_Block_Adminhtml_Sales_Order_View_Tab_Custom.php

我做了什么?

代码/本地/ myNameSpace对象/ AdminModifications的/ etc / config.xml中

<?xml version="1.0"?>
<config>
  <modules>
    <MyNamespace_AdminModifications>
      <version>1.0</version>
    </MyNamespace_AdminModifications>
  </modules>
  <global>
    <blocks>
      <MyNamespace_AdminModifications>
        <class>MyNamespace_AdminModifications_Block</class>
      </MyNamespace_AdminModifications>
    </blocks>
    <models>
        <MyNamespace_AdminModifications>
            <class>MyNamespace_AdminModifications_Model</class>
        </MyNamespace_AdminModifications>
    </models>
  </global>
  <adminhtml>
    <layout>
      <updates>
          <MyNamespace_AdminModifications>
              <file>adminmodifications.xml</file>
          </MyNamespace_AdminModifications>
      </updates>
    </layout>
  </adminhtml>
</config>

设计/ adminhtml /默认/默认/布局/ adminmodifications.xml

<?xml version="1.0"?>
<layout>
    <adminhtml_sales_order_view>
        <reference name="sales_order_tabs">
            <action method="addTab">
                <name>order_custom</name>
                <block>AdminModifications/adminhtml_sales_order_view_tab_custom</block>
            </action>
        </reference>
    </adminhtml_sales_order_view>
</layout>

代码/本地/ myNameSpace对象/ AdminModifications /砌块/ Adminhtml /销售/订购/视图/标签/ Custom.php

<?php
class MyNamespace_AdminModifications_Block_Adminhtml_Sales_Order_View_Tab_Custom
    extends Mage_Adminhtml_Block_Template
    implements Mage_Adminhtml_Block_Widget_Tab_Interface
{
    protected $_chat = null;

    protected function _construct()
    {
        parent::_construct();
        $this->setTemplate('custom/tab.phtml');
    }

    public function getTabLabel() {
        return $this->__('Custom Tab');
    }

    public function getTabTitle() {
        return $this->__('Custom Overview');
    }

    public function canShowTab() {
        return true;
    }

    public function isHidden() {
        return false;
    }

    public function getOrder(){
        return Mage::registry('current_order');
    }

design / adminhtml / default / default / template / custom / tab.phtml(jus从某处复制进行测试)

<?php
/**
 * Custom tab template
 */
?>
<div class="input-field">
 <label for="custom_field">Custom Field</label>
 <input type="text" class="input-text" name="custom_field" id="custom_field" />
</div>

我的错误隐藏在哪里?

1 个答案:

答案 0 :(得分:1)

AdminModifications - &gt;的 myNameSpace对象_ AdminModifications

        <action method="addTab">
            <name>order_custom</name>
            <block>MyNamespace_AdminModifications/adminhtml_sales_order_view_tab_custom</block>
        </action>

,因为

<blocks>
  <MyNamespace_AdminModifications>
    <class>MyNamespace_AdminModifications_Block</class>
  </MyNamespace_AdminModifications>
</blocks>

未来提示:如果您看到magento尝试加载 Mage _ * 类而不是您的类 - 99%您的 config.xml 中有错误通过配置名称调用块/模型/帮助器的文件或拼写错误(在本例中类似于<MyNamespace_AdminModifications>