Magento Collection / Grid - 重命名字段/列值

时间:2012-02-29 15:34:10

标签: php magento collections

我正在创建一个装运箱报告,该报告将允许管理员查看每天发送订单所需的每个箱子的数量。我已经为它保存了每个货件的内部箱码。问题是这些代码类似“SPECIAL_PKG”或“SHIPPING_PKG_1”,但管理员应该看到人性化的名称。

使用典型的Mysql4集合收集结果,并显示在Mage_Adminhtml_Block_Report_Grid中。一切正常,除了我看到内部代码而不是友好名称。

有没有办法可以在显示之前重新命名集合结果中的代码?例如,如果我可以获得这样的数组..

array(
    'SPECIAL_PKG' => 'Custom Packaging',
    'SHIPPING_PKG_1' => 'Large Box'
)

..然后我可以用它来以某种方式更改报告上显示的值吗?

不幸的是,我无法使用SQL JOIN来获取这些人性化的名称,因为数据不存在于单个标准化表中。如果可以,我愿意。

2 个答案:

答案 0 :(得分:2)

有一种更简单的方法,您的问题与此问题完全相同:How do I render/format custom fields in the Customer Grid - backend Magento 1.6

答案 1 :(得分:1)

知道了!我需要通过扩展Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract来实现自定义渲染器。使用this article作为指南,效果很好!

如果它可以帮助任何有类似问题的人:我使用构造函数来创建数组(如上面的问题所示)。然后,在render()内,检查密钥是否存在并显示人性化数据。