我正在创建一个装运箱报告,该报告将允许管理员查看每天发送订单所需的每个箱子的数量。我已经为它保存了每个货件的内部箱码。问题是这些代码类似“SPECIAL_PKG”或“SHIPPING_PKG_1”,但管理员应该看到人性化的名称。
使用典型的Mysql4集合收集结果,并显示在Mage_Adminhtml_Block_Report_Grid中。一切正常,除了我看到内部代码而不是友好名称。
有没有办法可以在显示之前重新命名集合结果中的代码?例如,如果我可以获得这样的数组..
array(
'SPECIAL_PKG' => 'Custom Packaging',
'SHIPPING_PKG_1' => 'Large Box'
)
..然后我可以用它来以某种方式更改报告上显示的值吗?
不幸的是,我无法使用SQL JOIN
来获取这些人性化的名称,因为数据不存在于单个标准化表中。如果可以,我愿意。
答案 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()
内,检查密钥是否存在并显示人性化数据。