首页 > 解决方案 > 在 SugarCRM 6.5 中添加带有自定义 JavaScript 的按钮

问题描述

我需要在我的一个详细视图中添加一个按钮。这个按钮应该打开一个弹出窗口,它从服务加载一些数据,显示它等等(此时并不重要)。

我已经设法使用 Sugar 中的 vardefs 机制添加了按钮。然后我尝试将一些逻辑连接到按钮。这就是我卡住的地方。

我找到了有关如何继续的建议: https ://community.sugarcrm.com/thread/28658-how-can-i-add-custom-button-next-to-save-cancel-on-account-module-and -自定义模块#comment-84253

添加按钮的方式与对我有用的方式相同,因此看起来是合法的。

问题在于添加外部脚本文件 - jQuery 和我的自定义脚本文件。那部分似乎不起作用。当我加载页面并单击按钮时,我得到

RefereneError: myButtonFunt is not defined

示例中的路径是相对的(它们以 ./ 开头),我试图推断文件在我的项目中的位置。我已经尝试了几件事,最后我只是输入了绝对路径(从 SugarCrm 的根文件夹开始):

 array (         
        'javascript' => '        
                     <script src="/custom/include/javascript/jquery-1.4.4.min.js" type="text/javascript"></script>  
                     <script src="/custom/modules/Cases/scripts/detailview/additionalInfoPopup.js" type="text/javascript"></script>  
                ',  
             ),

没有任何效果。通过直接在浏览器中导航到文件,我已经验证了文件正是路径指向的位置。我什至尝试将路径更改为“./somefile.js”并将文件放在 detailviewdefs.php 文件所在的同一文件夹中(我决定跳过 jQuery 参考,因为当页面加载时 jQuery 存在 -它比我试图包含的版本更新(E)。没有什么。函数 myButtonFunt 未定义。我引用的文件似乎没有加载到浏览器的开发工具中。查看页面的来源,没有提到我的 js 文件。

显然,该示例是为 editviewdefs.php 制作的,我在 detailviewdefs.php 中使用它,但在我看来,这并不重要。在我的 detailview.php 中,templateMeta 数组以

'form' => array (...

我尝试将我的 javascript 数组放入和取出表单数组。两种方法都不起作用。

我不知道该怎么做。在这一点上,我可以使用任何包含我的 js 文件的方法,以便按钮可以触发它。任何帮助,将不胜感激。

标签: javascriptphpjquerysugarcrm

解决方案


SugarCRM 6.5 很古老,所以我希望我没记错:

我相信您应该在该部分中使用实际的 JavaScript,而不是您正在做的事情(HTML 脚本标签)。

所以也许可以尝试类似的方法(通过使用 JavaScript 加载外部 JavaScript):Using Javascript to load other external Javascripts


推荐阅读