Suite CRM - 在帐户详细信息页面的联系人子面板中添加自定义字段

Suite CRM - Add custom field in contacts subpanel of accounts detail page

我想在帐户详细信息页面的联系人子面板中创建一个 'Call Button'。我可以使用逻辑挂钩在联系人列表页面中创建 'Call button'。但是相同的实现方式在子面板中不起作用。 (这个按钮和数据库没有关系,点击它只是触发一个JavaScript函数)。请帮我解决这个问题。 提前致谢。

看看modules/Contacts/metadata/subpanels/ForAccounts.php.

为什么"ForAccounts"?它只是意味着将为帐户模块加载此联系人子面板。这样您就可以为每个模块提供不同的功能。 default 只是在未指定调用模块时使用的默认子面板。这是由于 SuiteCRM 处理关系的方式。您可以在关系中指定应显示哪个子面板。

注意 "top_buttons" 数组。这些是子面板顶部的按钮。 widget_class 对应于 include/generic/SugarWidgets 中的小部件。例如SubPanelTopCreateButton 实际上是SugarWidgetSubPanelTopCreateButton。

'top_buttons' => array(
    array('widget_class' => 'SubPanelTopCreateButton'),
    array('widget_class' => 'SubPanelTopSelectButton', 'popup_module' => 'Contacts'),
),

如果您想添加自己的按钮,您必须先创建自己的小部件,然后将其添加到 top_buttons 数组。

子面板使用以下内容生成按钮

  • include/generic/LayoutManager.php
  • include/SubPanel/SubPanel.php:120
  • include/SubPanel/SubPanelTiles.php:426

您可能需要向布局管理器注册您的小部件。

SugarWidgets 是一项核心功能,目前不会从自定义目录加载。

看看 SugarWidgetSubPanelTopCreateTaskButton.php 作为参考指南。