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



我编写了自己的Magento函数,用于计算订单与重新排序的百分比关系。通过这种方式,您可以将客户分为那些从不归还购买商品的客户(绿色 - 好客户),有时会进行巡回演出(黄色)和那些退回大部分购买商品的客户(红色 - 坏客户)。

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

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

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

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

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

我感谢任何帮助。

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

理想情况下,当然你不应该编辑核心文件,一个稍微好一点的选择是重写类,或者你可以全力以赴地处理事件。

那么你也许知道怎么做吗?所有参数到底是什么意思?

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

请给我任何建议。比方说,我只会为每个客户做一个原始的SQL查询,做一些计算,然后把它放出来。我只需要客户的 ID 即可执行此操作。

最新更新