向 SugarCRM 添加自定义字段类型?
我正在尝试将自定义字段类型添加到我们的 SugarCRM 6.2 实例中。我想添加一个“电子邮件链接
”类型字段。我希望它的功能与 URL 字段类似,但每个地址都使用 "mailto://"
前缀,而不是 "http://"
。
如果在创建新字段时该字段类型在工作室中可用,或者至少需要一些自定义代码来实现它,那就太好了。
到目前为止我做了什么: - 我已将 include/SugarFields/Fields/URL 复制到 include/SugarFields/Fields/Email - 在modules/ModuleBuilder/language/en_us.lang.php中,我为电子邮件字段添加了一个标题
,但无法让任何内容正常工作。有什么帮助吗?
I'm trying to add a custom field type to our SugarCRM 6.2 instance. I want to add an "email link
" type field. I want it to function like the URL field, but prefix every address with "mailto://"
prefix instead of "http://"
.
It will be good if that field type is available in studio while creating new fields or in minimum, some custom code to achieve it.
What I did up to now:
- I've copied include/SugarFields/Fields/URL to include/SugarFields/Fields/Email
- In modules/ModuleBuilder/language/en_us.lang.php I've added a title for the email field
But unable to get anything working. Any help?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
首先,您不想在自定义目录之外进行任何编码更改。在此目录之外执行此操作并不安全。
,然后您只需在 studio 中添加常规文本字段即可
然后在自定义目录中编辑 viewdef
在您的 tpl 文件中,将 mailto:// 连接到您的文本,只需添加此人的电子邮件地址,它就会为您处理剩下的事情
First of all you do not want to make any coding changes outside of the custom directory. Doing so outside of this directory is not upgrade safe.
then you can just add a regular textfield in studio
then edit your viewdefs in your custom directory
in your tpl file concatenate the mailto:// to your text and just add the persons email address and it will take care of the rest for you
为什么您需要自定义字段类型来实现如此小的功能?只需在
editviewdef.php
中添加您的自定义 JS 文件即可。然后使用一些jQuery 选择器
来执行某些操作。对于详细视图,您可以使用view.detail.php
在运行时添加所需的文本。这将帮助您在数据库中存储更少的数据并在前端显示更多数据。
why you need custom field type for such small functionality? Just add your custom JS file in
editviewdef.php
. Then use somejQuery selector
to perform certain action. For detail view, you can useview.detail.php
to add required text in run time.This will help you to store less data in database and display more in frontend.