Magento:在管理项目有序块中显示自定义产品属性

Magento: Display custom product attribute in admin Items ordered block

我正在尝试在管理订单 - Items Ordered 块中显示我的自定义属性值。它将显示每个产品获得的积分,就像显示 SKU 和其他信息一样。属性值保存在 sales_flat_quote_itemsales_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中添加了我的自定义代码,仍然没有输出。

  1. 如何在项目上显示自定义产品属性的值 有序块 ?
  2. 如何在 admin Invoice order details 页面显示相同的值?
  3. 在上面,最好的practice/method在管理order/invoice/refund页面上显示自定义属性,就像它显示SKUSize和其他值一样?

最简单、最有效的方法是为商店管理员创建一个自定义主题,copy-paste 那里的请求模板并按照您想要的方式重写输出。

因此您将能够完全自定义它。此外,这种方法将降低出错的风险,并使您能够自定义任何模板(包括发票、贷项通知单等)

看看:

  • 设置自定义主题:(可以在 app/etc/local xml 或您的扩展配置设置中完成):

  • 复制您需要的模板:

  • 根据需要进行调整:

  • 并得到你想要的结果:

请注意,自定义属性通常是通过get方法输入的。如果您遇到任何问题,只需检查数据库中所选项目是否存在。在sales_flat_order_itemtable 找到与所选订单相关的所有项目,并确保它具有不同于 null 的值。这就是我的情况: