【问题标题】:Magento add block to sales order createMagento 将块添加到销售订单创建
【发布时间】:2013-06-07 14:14:36
【问题描述】:

我正在尝试向管理员创建订单屏幕添加一个块。我有我的布局 xml

    <adminhtml_sales_order_create_index>
    <reference name="head">
        <action method="addItem"><type>skin_js</type><name>js/fee/fee.js</name></action>
    </reference> 
    <reference name="data">
             <block type="fee/adminhtml_insuranceselector" after="shipping_method" name="fee.insurance" template="fee/sales/order/insuranceselector.phtml" />
    </reference>
</adminhtml_sales_order_create_index>

<adminhtml_sales_order_create_load_block_data>
    <reference name="data">
             <block type="fee/adminhtml_insuranceselector" after="shipping_method" name="fee.insurance" template="fee/sales/order/insuranceselector.phtml" />
    </reference>
</adminhtml_sales_order_create_load_block_data>

该块根本不显示“数据”甚至“内容”的引用,如果我将引用更改为“左”,它会显示,但我真的需要它在运输方式下的数据区域。内容参考没有模板文件,所以我认为不需要回显子块。不知道我做错了什么。任何指针将不胜感激。

【问题讨论】:

  • 虽然完全不相关 - 这篇文章帮助我理解了为什么在创建订单的初始加载时我无法看到我的覆盖,但在刷新页面时我能够看到。除了 admin_html_sales_order_create_index 之外,包括 adminhtml_sales_order_create_load_block_data 解决了我的问题!
  • @Dylan 。你能解释一下吗?实际上我是 magento 的新手。我也在做同样的事情,但没有得到任何响应。如果我将 更改为 那么它会显示响应。
  • 实际上有一个我没有看到的数据块模板,它位于:app/design/adminhtml/default/default/template/sales/order/create/data.phtml 你将需要编辑,或者最好的做法是通过将其复制到您的主题目录来覆盖它。你需要调用 $this->getChildHtml('blockName')
  • 非常感谢 .. :-) :-)

标签: php magento adminhtml


【解决方案1】:

data 块不会匿名显示其所有子块,您可以检查其模板文件 (app/design/adminhtml/default/default/template/sales/order/create/data.phtml) 以了解其实际工作方式。

要在运输方式下方显示您自己的块,您需要在原始模板的基础上将自己的模板应用到 data 块,并在您希望它显示的位置添加相应的 getChildHtml 调用.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-03
    相关资源
    最近更新 更多