Experience Builder Site — @salesforce/site

DEX475 - Access Salesforce Resources

📄 第 214 页 🎬 视频课程

课程章节介绍

同学们,我们来看这个@salesforce/site模块。它其实是@salesforce/community的一个补充,主要就给你两样东西:网站ID和这个网站上配置的活动语言列表。 注意啊,它里面的Id属性返回的是网站组件的ID,可不是那个你常用的网络ID,这两个是不同的,千万别搞混了。 另一个属性叫activeLanguages,它会返回一个语言对象的数组。每个对象呢,有一个code,比如“en-US”,还有一个label,比如“English (US)”。这个数组是按语言的标签首字母顺序排好的,而且只会包含那些你在体验生成器的设置里真正打开了的活动语言。不是所有语言都会出来,没激活的就不会出现。 讲个实际的应用场景吧,我们就拿语言选择器来说。你可以在组件里导入三个东西:活动语言列表、当前语言,还有页面的基本路径。然后用活动语言来填充一个下拉框,当用户从下拉框里选了另一种语言之后,你就可以通过替换掉基本路径里那个代表区域设置的字段,拼出一个新的URL,最后让浏览器重定向到这个新地址就可以了。 这中间有个地方要注意一下,如果你们在用LWR站点,而且用了Lightning收件箱,那全局的window对象很有可能没法访问。这种情况下,刚才说的那种跳转模式就会出问题,你必须把收件箱关掉才行。记住了,这是个小坑。 好了,这个模块的内容就这些,很简单但很实用,以后做多语言站点就靠它了。

关键词

LWC Lightning Web Components Salesforce