Vtiger如何在compose mail弹窗中自动填充关联账户的邮箱地址
实现步骤
- 首先在自定义模块的DetailView逻辑层获取关联账户的邮箱值
你需要先在模块的DetailView自定义文件(路径一般为custom/modules/[你的自定义模块名]/views/view.detail.php)中,通过关联字段读取绑定的account的邮箱信息,示例代码如下:
// 先获取关联的account记录,替换[你的模块关联account的字段名]为实际字段名 $related_account = $this->bean->[你的模块关联account的字段名]; if(!empty($related_account->id)){ $prefill_email = $related_account->email1; $prefill_account_id = $related_account->id; }
- 给邮件发送按钮增加预填参数
构造邮件发送按钮的跳转/触发逻辑时,给系统默认的邮件编辑接口传递收件人参数,参数格式如下:index.php?module=Emails&action=Compose&to_addrs[]=.urlencode($prefill_email).&to_addrs_ids[]=.urlencode($prefill_account_id)
系统原生的compose弹窗会自动解析这两个参数,把对应邮箱填充到收件人输入框。 - 自定义兼容方案(如果原生解析不生效)
如果你的弹窗是自定义开发的,可以在页面中插入一段JS监听弹窗加载完成事件,直接给收件人输入框赋值:
// 监听弹窗显示事件,不同框架触发事件不同,此处为示例 document.addEventListener('emailComposePopupOpen', function(){ // 替换为你页面里收件人输入框的实际选择器 document.querySelector('input[name="to_addrs"]').value = '<?php echo $prefill_email; ?>'; })
参考界面
内容的提问来源于stack exchange,提问作者colinmorgan
相关产品推荐
相关产品推荐


