SugarCRM:从外部表读取数据
我正在尝试在 SugarCRM 的自定义列表视图中显示非 Sugar 表中的数据。目前,我正在自定义 view.list.php 文件中运行 SQL 查询,但这显示的是列表下方的数据,而不是替换列表视图中的默认查询。
如何使用自定义 SQL 替换列表视图中的默认查询?
I'm trying to display data from a non-Sugar table in a custom listview in SugarCRM. Currently I'm running an SQL query in a custom view.list.php file, but this is displaying the data below the list rather than replacing the default query in the listview.
How can I replace the default query in a listview with custom SQL?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您不必经历所有这些。
当您在 ModuleBuilder 中创建自定义模块时。部署包
编辑 vardefs.php 和 Module_sugar.php 并将 table_name 更改为指向新表。然后,您实际上不必编写任何特殊代码,自定义字段将起作用并为您完成联接。
You don't have to go through all of that.
When you create a custom module in ModuleBuilder. Deploy the package
when edit the vardefs.php and Module_sugar.php and change the table_name to point to the new table. Then you don't actually have to write any special code and custom fields will work and complete the join for you.
我设法通过重写模块基类中的 create_new_list_query() 方法来解决这个问题:
此方法创建一个在 /includes/ListView/ListViewData.php 中使用的 SQL 语句。我已经为从外部表中选择的字段名称添加了别名,以匹配 Sugar 中设置的字段名称(比创建或重命名每个字段更容易)。
I've managed to solve this by overriding the create_new_list_query() method in the module base class:
This method creates an SQL statement which is used in /includes/ListView/ListViewData.php. I've aliased the field names selected from the external table to match the names of the fields set up in Sugar (easier than creating or renaming every single field).