首页 > 解决方案 > 从外部 REST API 获取数据并在列表视图和详细视图中显示(自定义模块)

问题描述

我需要使用自定义 REST API 从外部服务器获取数据,并在列表视图和详细视图中显示数据。(自定义模块)。

我对 Suitecrm 完全陌生。需要知道,当我单击模块名称时,如何获取数据以及在哪里编写操作,要创建哪些文件等等。

要使用的是连接器还是端点还是其他?

版本控制-

SuiteCrm-版本 7.10.7

Sugar 版本 6.5.25(构建 344)

我在互联网上试过,但没有找到具体的例子

标签: phpsugarcrmsuitecrm

解决方案


您正在寻找的东西称为逻辑挂钩。

这些钩子存在于每个模块中,并将在不同的情况下触发。

对于列表视图/详细视图,您需要process_record挂钩。

去创建一个文件custom/Extension/modules/Accounts/Ext/LogicHooks/ListViewHighlight.php

如果您使用的是自定义模块,请更改模块Accounts的名称并记住此函数是针对列表中的每条记录执行的。

内容将是:

<?php
$hook_array['process_record'][] = Array(1, 'Highlight account industry', 'custom/modules/Accounts/HighlightIndustryLogicHook.php','HighlightIndustryLogicHook', 'highlightIndustry');

那是为了设置钩子,下面的文件应该包含执行的代码custom/modules/Accounts/HighlightIndustryLogicHook.php

<?php
class HighlightIndustryLogicHook{

    public function highlightIndustry(SugarBean $bean, $event, $arguments){
        $colour = substr(md5($bean->industry),0,6);
        $bean->industry = "<div style='border: solid 5px #$colour;'>".$bean->industry."</div>";
    }
}

在这个例子中,这个钩子将覆盖行业价值并添加我们想要的样式。

现在,如果您不想使用 SuiteCRM 列表视图,假设您想要一个完全自定义的视图,那么您应该阅读本指南。

https://docs.suitecrm.com/developer/views/#_custom_module


推荐阅读