2013-03-04 40 views
1


嗨, 我正在写一个Magento模块。为此,我想在模块的处理程序中调用一个核心块。我不想修改或扩展核心块。我只是想在我的布局处理程序中调用它。有什么建议么?Magento:呼叫我的模块内的核心块

我想插入位于

adminhtml/sales/order/view/history.php 

以下处理程序块是包含上述Histrory.php阻止

<adminhtml_sales_order_addcomment> 
     <block type="adminhtml/sales_order_view_history" name="order_history" template="sales/order/view/history.phtml" output="toHtml"/> 
    </adminhtml_sales_order_addcomment> 

的sales.xml这是我的layout.xml

 <orderadmin_adminhtml_orderadmin_search> 
     <update handle="orderadmin_orderadmin_search" /> 
     <reference name="content"> 
    <!-- I want to insert the following block --> 
     <block type="adminhtml/sales_order_view_history" name="order_history" template="sales/order/view/history.phtml" output="toHtml"/> 
</reference> 
</orderadmin_adminhtml_orderadmin_search> 

但它会导致以下错误。

致命错误:调用一个成员函数的getId()在\应用\代码\芯的非对象上\法师\ Adminhtml \块\ SALES \订单\视图\ History.php上线79

+1

你打电话是什么意思?你可以通过'' – 2013-03-04 10:21:51

+0

是的。我想在layout中插入我的处理程序中的核心块 – Sukeshini 2013-03-04 11:11:26

+0

是的,就这样做。如果你都做到了,显示代码,如果它不能正常工作 – 2013-03-04 11:13:12

回答

1

的问题是没有用XML布局做的,那就是INFAC t正确并且将按原样运行。

该问题是因为该块期望命令在注册表中,以使其能够获取历史记录。

您应该在呈现历史记录块之前在控制器或模块块内的注册表中设置订单(您希望用于查看历史记录的订单)。

+0

非常感谢。将订单ID保存到寄存器后,错误被修复。 – Sukeshini 2013-03-04 12:25:47

+0

嗨,我在我的处理程序中添加了块。但是,当我添加评论并提交它不显示在评论列表中。请帮忙? – Sukeshini 2013-03-04 17:43:17

1

你要做这样的代码:

<!-- this is my handler --> 
<orderadmin_adminhtml_orderadmin_search> 
     <update handle="orderadmin_orderadmin_search" /> 
     <reference name="content"> 
      <block type="orderadmin/adminhtml_search" name="search_order" /> 
      <!-- I want to call the core block here --> 

Pick up from core layouts the block you wanted and paste here as it is, it will get rendered

 </reference> 
    </orderadmin_adminhtml_orderadmin_search> 
+0

谢谢你的解决方案。我已经尝试过了。但它没有奏效。请提出任何建议? – Sukeshini 2013-03-04 11:15:58

+0

您好,我想在adminhtml/default/default/layout/sales.xml中插入以下代码块: Sukeshini 2013-03-04 11:18:24

+0

在你的控制器的动作中你写了$ this-> loadLayout() - > renderLaout(); ...? – ANKIT 2013-03-04 11:35:55