我正在尝试在管理订单上显示我的自定义属性值 - Items Ordered块。它将显示每个产品获得的积分,就像它显示SKU
和其他信息一样。属性值保存在sales_flat_quote_item
和sales_flat_order_item
表中。
命名空间/ MODULENAME /砌块/ Adminhtml /销售/订购/视图/项目/渲染器/ Default.phtml
<?php
class Namespace_Modulename_Block_Adminhtml_Sales_Order_View_Items_Renderer_Default extends Mage_Adminhtml_Block_Sales_Order_View_Items_Renderer_Default
{
}
?>
应用/设计/ adminhtml /设计/设计/布局/命名空间/ modulename.xml
<adminhtml_sales_order_view>
<reference name="order_items">
<action method="addItemRender"><type>default</type>
<block>sales/order_item_renderer_default</block>
<template>namespace/modulename/sales/order/items/renderer/default.phtml</template>
</action>
</reference>
</adminhtml_sales_order_view>
应用/设计/ adminhtml /默认/默认/模板/命名空间/模块名/销售/订单/视图/项目/ rederer / default.phtml
<?php $finalPointsEarned = ($_item->getCustomerProductPoints() * $_item->getQtyOrdered()); ?>
<div class="product-cart-sku">
<span style="color: #d4af37; font-weight: bold;"><?php echo $this->__('Points Earned:'); ?>
<?php echo $finalPointsEarned ?>
</span>
</div>
执行上面的代码会给出以下异常
Invalid method Mage_Sales_Block_Order_Item_Renderer_Default::addColumnRender(Array
(
[0] => qty
[1] => adminhtml/sales_items_column_qty
[2] => sales/items/column/qty.phtml
)
)
将<adminhtml_sales_order_view>
更改为<sales_order_view>
不会显示任何输出,也不会显示自定义prod属性。
尝试二:
<adminhtml_sales_order_view>
<reference name="order_items">
<action method="addColumnRender">
<column>NORTH FACE</column>
<block>adminhtml/sales_items_column_name</block>
<template>modulename/sales/items/column/name.phtml</template>
</action>
</reference>
</adminhtml_sales_order_view>
在name.phtml
中添加了我的自定义代码,仍然没有输出。
SKU
,Size
和其他值一样?答案 0 :(得分:4)
最简单,最有效的方法是为商店管理员创建自定义主题,在此处复制粘贴所请求的模板,然后按照您希望的方式重写输出。
因此,您将能够完全自定义它。此外,这种方法可以降低出错的风险,并为您提供定制任何模板(包括发票,贷项凭证等)的能力。
看看:
app/etc/local
xml或扩展配置设置中完成):
请注意,自定义属性通常通过get方法输入。如果您遇到任何问题,只需检查数据库中所选项目是否存在。在sales_flat_order_item
表中
找到与所选订单相关的所有商品,并确保其价值与null
不同。这就是我的情况: