更改要在 SugarCRM 7 中的特定子面板中显示的最大记录数

Change the maximum number of records to be displayed in a specific subpanel in SugarCRM 7

在 SugarCRM 7.9 中,我们如何更改要在特定子面板中显示的最大记录数。

在开发人员指南中,我发现通过更改配置覆盖中的 'list_max_entries_per_subpanel' 限制,我们可以更改所有子面板的记录显示限制,但我只想在我的特定子面板中产生效果,例如联系人子面板在帐户模块中可用。

我也有兴趣找出这个问题的答案,所以我进行了一些挖掘并弄清楚了。根据您在“帐户”的“联系人”子面板中显示不同号码的示例,您可以执行以下操作:

将以下文件添加到custom/modules/Contacts/clients/base/views/subpanel-list/subpanel-list.js

({
    extendsFrom: "SubpanelListView",

    initialize: function(options){
        this._super("initialize", [options]);
        if (this.context.get("parentModule") == "Accounts"){
            this.context.set("limit",1);
        }
    }
})

如果您想更具体地了解发生了什么,我会详细说明。以下是正在发生的事情的细目分类:

  1. 声明您正在扩展标准子面板列表视图。
  2. 覆盖父 class' 初始化函数。
  3. 调用父初始化函数(以确保遵守所有超级class行为)
  4. 如果此(联系人)子面板具有客户的父模块(即此子面板是显示在客户记录视图下方的子面板之一),则将上下文 属性 "limit" 设置为期望值。

我通过将 3 个联系人链接到一个帐户成功地测试了这个,它只显示了 1 个,随后将 3 个联系人链接到一个机会,它显示了所有 3 个。