Magento:在管理客户网格中添加自定义列

时间:2012-10-01 21:12:17

标签: php magento customization

我编写了自己的Magento函数,用于计算订单与retours的百分比关系。通过这种方式,您可以将客户分类为那些从不给买回来的人(绿色 - 好客户),有时会做回顾(黄色)和那些回报大部分买入的东西(红色 - 坏客户)。

为此,我添加了一个新的数据库表,用于保存所需的信息。

现在,我想在Magento的管理员客户中添加一个新列 - >管理显示相应颜色的客户。我设法添加新列的标题,但我不知道如何从我的自定义数据库表中显示我的自定义计算。 Magento让一切变得如此复杂。

我编辑了“app / code / core / Mage / Adminhtml / Block / Customer / Grid.php”并将以下代码添加到“prepareColumns”中:


    $this->addColumn('abc', array(
      'header' => "ABC"
    ));

那么,我如何用任何数据填充它?

我感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

最简单的解决方案是在同一个类中编辑prepareCollection函数,并将表连接到结果集。然后,您只需在addColumn定义中设置正确的索引,就应该填充该列。

理想情况下,你当然不应该编辑核心文件,一个稍微好一点的选择就是改写课程,或者你可以全力以赴地进行do it with events

答案 1 :(得分:0)

所以你可能知道怎么做到这一点?所有参数究竟意味着什么?:


    ->joinAttribute('billing_telephone', 'customer_address/telephone', 'default_billing', null, 'left')

请给我任何建议。假设我只是为每个客户创建一个原始SQL查询,进行一些计算并将其推出。我只需要客户的ID即可。