Salesforce Experience Builder项目详情页加关联Account链接方法
Salesforce Experience Builder 关联Account跳转链接正确实现方案
问题原因
你之前使用的https://<你的站点域名>/s/account/{!recordId.Account__c}写法不生效,核心原因是*{!recordId}仅代表当前Project记录的ID字符串*,字符串类型变量不携带对象字段属性,无法直接通过点号取到关联查找字段的ID值,最终拼出的链接会缺失Account的有效ID,自然无法正常跳转。而你之前验证可用的/s/project/{!recordId}是直接取ID字符串本身,所以可以正常运行。
可行实现方案
方案1:直接使用正确的合并字段拼链接(最快实现)
不需要额外配置字段,直接把链接里的合并字段替换为当前完整记录对象的查找字段即可,正确写法为:
https://<你的Experience站点域名>/s/account/{!Record.Account__c}
注意:这里的合并字段必须写为首字母大写的
{!Record},它指代当前页面绑定的完整Project记录对象,直接访问Account__c属性就能拿到关联Account的记录ID。
方案2:公式字段自动生成链接(适配多环境/多域名)
如果不想硬编码站点域名,避免后续换域名、改站点路径需要批量修改链接,可以在Project对象上新建文本类型公式字段Account_Page_Link__c,公式内容配置为:
LEFT($Api.Partner_Server_URL_260, FIND( '/services', $Api.Partner_Server_URL_260)) + 's/account/' + Account__c
字段创建完成后,在Experience Builder的链接组件里直接绑定{!Record.Account_Page_Link__c}作为跳转地址即可,系统会自动拼接当前环境的正确域名。
方案3:使用标准导航组件(官方推荐,零代码最稳妥)
不需要手动拼接任何URL,直接在Experience Builder中拖入内置的按钮/链接组件:
- 组件导航行为选择「导航到记录页面」
- 目标对象选择
Account - 目标记录ID绑定当前Project记录的
Account__c字段
这种方式系统会自动匹配站点内Account详情页的正确路径,后续站点路径调整、开启多语言站点时都不会出现链接失效问题。
内容的提问来源于stack exchange,提问作者Sarah De Cock
相关产品推荐
相关产品推荐

