Page Visibility

CCD102 - Lesson 5: Knowledge Check

课程内容

同学们,今天我们来聊聊Salesforce中的页面可见性这个概念。简单来说,页面可见性就是判断一个页面是否应该显示给当前用户看。这个判断是基于一些规则来做的,比如时间安排、用户组别等。

首先,我们有一个属性叫做`Visible`,它是一个布尔值(Boolean),也就是说它只有两个可能的值:`True`或者`False`。如果这个值是`True`,那就意味着这个页面是可见的;如果是`False`,那就意味着这个页面不应该被显示。

这个可见性的判断不是随便做的,它需要满足几个条件: 1. 页面必须设置为在当前的语言和地区设置中可见。 2. 所有相关的可见性规则都必须被满足,比如时间表要匹配,用户组别也要匹配。

如果这些条件中有一个不满足,那么`Visible`就会返回`False`。这是因为页面的可见性是由商家配置的动态规则来控制的,比如根据时间或者用户的分组来决定是否显示。

这里有一个重要的注意事项:由于这些规则是动态的,所以我们在处理页面缓存时要特别小心。我们不能在页面缓存的环境中调用这个`Visible`属性,因为这样可能会导致错误的判断。正确的做法是,在调用这个方法之前,先使用`HasVisibilityRules()`来检查是否存在可见性规则。如果存在规则,那么我们就不要使用页面缓存。否则,如果我们使用了缓存,那么所有的可见性判断都会基于缓存中的数据,而不是实时的数据。

总结一下,页面可见性是一个动态的、基于规则的系统,它帮助我们决定哪些页面应该显示给哪些用户。在使用这个功能时,我们要注意避免在缓存环境中做出判断,以确保用户看到的页面是最新和最准确的。