首页 文章

Magento:在admin Items ordered block中显示自定义产品属性

提问于
浏览
1

我试图在管理订单 - 项目订购块上显示我的自定义属性值 . 它将显示每个产品获得的积分,就像显示 SKU 和其他信息一样 . 属性值保存在 sales_flat_quote_itemsales_flat_order_item 表中 .

enter image description here

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属性 .

Attempt Two:

<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 中添加了我的自定义代码,仍然没有输出 .

  • 如何在Items ordered block上显示自定义产品属性的值?

  • 如何显示管理员发票订单详细信息页面的相同值?

  • 以上是在管理订单/发票/退款页面上显示自定义属性的最佳做法/方法,就像显示 SKUSize 和其他值一样?

1 回答

  • 4

    最简单,最有效的方法是为商店管理员创建自定义主题,在此处复制粘贴所请求的模板,并按照您希望的方式重写输出 .

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

    看一看:

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

    Image1

    • 复制您需要的模板:

    Image 2

    • 根据需要调整:

    Image 3

    • 并获得您想要的结果:

    Image 4

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

    Image 5

    Image 6

    Image 7

相关问题