【问题标题】:Magento: add custom column in the admin customers gridMagento:在管理客户网格中添加自定义列
【发布时间】:2012-10-01 21:12:17
【问题描述】:

我编写了自己的 Magento 函数,它计算订单与退货的百分比关系。通过这种方式,您可以将客户分类为从不退货的客户(绿色 - 好客户)、有时会返程的客户(黄色)和大部分退货的客户(红色 - 坏客户)。

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

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

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

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

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

感谢您的帮助。

【问题讨论】:

    标签: php magento customization


    【解决方案1】:

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

    理想情况下,您当然不应该编辑核心文件,更好的选择是改写类,或者您可以全力以赴 do it with events

    【讨论】:

      【解决方案2】:

      那么你可能知道该怎么做吗?所有参数到底是什么意思?:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多