Magento:在管理项目有序块中显示自定义产品属性
Magento: Display custom product attribute in admin Items ordered block
我正在尝试在管理订单 - Items Ordered 块中显示我的自定义属性值。它将显示每个产品获得的积分,就像显示 SKU
和其他信息一样。属性值保存在 sales_flat_quote_item
和 sales_flat_order_item
表中。
Namespace/Modulename/Block/Adminhtml/Sales/Order/View/Items/Renderer/Default.phtml
<?php
class Namespace_Modulename_Block_Adminhtml_Sales_Order_View_Items_Renderer_Default extends Mage_Adminhtml_Block_Sales_Order_View_Items_Renderer_Default
{
}
?>
app/design/adminhtml/design/design/layout/namespace/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>
app/design/adminhtml/default/default/template/namespace/modulename/sales/order/view/items/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
中添加了我的自定义代码,仍然没有输出。
- 如何在项目上显示自定义产品属性的值
有序块 ?
- 如何在 admin Invoice order details 页面显示相同的值?
- 在上面,最好的practice/method在管理order/invoice/refund页面上显示自定义属性,就像它显示
SKU
、Size
和其他值一样?
最简单、最有效的方法是为商店管理员创建一个自定义主题,copy-paste 那里的请求模板并按照您想要的方式重写输出。
因此您将能够完全自定义它。此外,这种方法将降低出错的风险,并使您能够自定义任何模板(包括发票、贷项通知单等)
看看:
- 设置自定义主题:(可以在
app/etc/local
xml 或您的扩展配置设置中完成):
- 复制您需要的模板:
- 根据需要进行调整:
- 并得到你想要的结果:
请注意,自定义属性通常是通过get方法输入的。如果您遇到任何问题,只需检查数据库中所选项目是否存在。在sales_flat_order_item
table
找到与所选订单相关的所有项目,并确保它具有不同于 null
的值。这就是我的情况:
我正在尝试在管理订单 - Items Ordered 块中显示我的自定义属性值。它将显示每个产品获得的积分,就像显示 SKU
和其他信息一样。属性值保存在 sales_flat_quote_item
和 sales_flat_order_item
表中。
Namespace/Modulename/Block/Adminhtml/Sales/Order/View/Items/Renderer/Default.phtml
<?php
class Namespace_Modulename_Block_Adminhtml_Sales_Order_View_Items_Renderer_Default extends Mage_Adminhtml_Block_Sales_Order_View_Items_Renderer_Default
{
}
?>
app/design/adminhtml/design/design/layout/namespace/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>
app/design/adminhtml/default/default/template/namespace/modulename/sales/order/view/items/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
中添加了我的自定义代码,仍然没有输出。
- 如何在项目上显示自定义产品属性的值 有序块 ?
- 如何在 admin Invoice order details 页面显示相同的值?
- 在上面,最好的practice/method在管理order/invoice/refund页面上显示自定义属性,就像它显示
SKU
、Size
和其他值一样?
最简单、最有效的方法是为商店管理员创建一个自定义主题,copy-paste 那里的请求模板并按照您想要的方式重写输出。
因此您将能够完全自定义它。此外,这种方法将降低出错的风险,并使您能够自定义任何模板(包括发票、贷项通知单等)
看看:
- 设置自定义主题:(可以在
app/etc/local
xml 或您的扩展配置设置中完成):
- 复制您需要的模板:
- 根据需要进行调整:
- 并得到你想要的结果:
请注意,自定义属性通常是通过get方法输入的。如果您遇到任何问题,只需检查数据库中所选项目是否存在。在sales_flat_order_item
table
找到与所选订单相关的所有项目,并确保它具有不同于 null
的值。这就是我的情况: