Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Adminhtml中的Magento覆盖失败_Php_Magento_Module_Enterprise - Fatal编程技术网

Php Adminhtml中的Magento覆盖失败

Php Adminhtml中的Magento覆盖失败,php,magento,module,enterprise,Php,Magento,Module,Enterprise,所以我已经尝试了所有我能想到的关于这个订单信息页面的方法,并且用尽了所有我能想到的搜索方法,所以现在我需要问一下。我正在尝试重写管理>销售订单>查看订单页面。我创建了一个模块来覆盖我认为是该区域的内容,但它变得越来越时髦 模块的config.xml <config> <modules> <Mage_Salespage> <version>0.1.0</version> </Mage_Salespag

所以我已经尝试了所有我能想到的关于这个订单信息页面的方法,并且用尽了所有我能想到的搜索方法,所以现在我需要问一下。我正在尝试重写管理>销售订单>查看订单页面。我创建了一个模块来覆盖我认为是该区域的内容,但它变得越来越时髦

模块的config.xml

<config>
<modules>
    <Mage_Salespage>
        <version>0.1.0</version>
    </Mage_Salespage>
</modules>

<global>

    <blocks>

        <adminhtml>
            <rewrite>
                <sales_order_view>Mage_Salespage_Block_Sales_Order_View_Info</sales_order_view>
            </rewrite>
        </adminhtml>

    </blocks>

    <helpers>
        <mage_salespage>
            <class>Mage_Salespage_Helper</class>
        </mage_salespage>
    </helpers>
    <models>
        <mage_salespage>
            <class>Mage_Salespage_Model</class>
        </mage_salespage>
    </models>

</global>
问题显示在,因为我还没有足够的代表
我做错了什么?

这里可能会发生一些事情。首先,你确定把它放在正确的文件夹里了吗?如果将它放在blocks/Adminhtml/sales/order/view.php中,则需要调整它的类名和xml声明。通过在index.php文件中打开DEV模式,可以快速检查这一点

另一件更常见的事情是,如果有另一个模块重写此方法。由于Magento按字母顺序加载模块,您可能没有机会先覆盖类。如果是这样,您只需要在app/etc/modules/module.xml文件中添加一个depends子句

我会下载这个扩展:

它允许您通过添加一些url参数来运行模板路径提示,并在管理员中运行。这将显示您的产品视图块是否正在使用core或是否正在使用其他扩展代码。

Fluffs McKenzie, config.xml中的块类型代码存在问题

您想重写class
Mage\u Adminhtml\u Block\u Sales\u Order\u View\u Info

根据magento,其块类型为

adminhtml/sales\u order\u view\u info
但是你被重写了class
adminhtml/sales\u order\u view

当一个块类型
adminhtml/sales\u order\u view\u info
时,它通过 这个过程:

  • adminhtml
    ->
    Mage\u adminhtml\u Block
  • sales\u order\u view\u info
    ->
    sales\u order\u view\u info
最后一个类是
Mage\u Adminhtml\u Block\u Sales\u Order\u View\u Info

所以你需要换衣服

Mage\u Salespage\u Block\u Sales\u Order\u View\u Info

<sales_order_view_info>Mage_Salespage_Block_Sales_Order_View_Info</sales_order_view_info>
Mage\u Salespage\u Block\u Sales\u Order\u View\u Info
<sales_order_view>Mage_Salespage_Block_Sales_Order_View_Info</sales_order_view>
<sales_order_view_info>Mage_Salespage_Block_Sales_Order_View_Info</sales_order_view_info>