javascript - 在 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 文件的方法,以便按钮可以触发它。任何帮助,将不胜感激。
解决方案
SugarCRM 6.5 很古老,所以我希望我没记错:
我相信您应该在该部分中使用实际的 JavaScript,而不是您正在做的事情(HTML 脚本标签)。
所以也许可以尝试类似的方法(通过使用 JavaScript 加载外部 JavaScript):Using Javascript to load other external Javascripts
推荐阅读
- json - Char.IsDigit 与 NumberFormat.NativeDigits
- python - 如何按日期分组并查找连续天数
- html - 背景颜色和边框半径之间的空白
- sql - SQL根据条件将值从一列复制到另一列
- c# - 如何从现有的 Windows 服务启动 AspNetCore 应用程序
- php - 用php调用sql函数
- intellij-idea - 是否可以在 Intellij IDEA 中将选择拆分为多个光标?
- python - 通过对象从 QuerySet 中获取下一个和上一个对象
- javascript - 动态翻译数据 react localize redux
- scala - 如何将 Scala 枚举用于 JOOQ 转换器