Joomla 权限控制:通过自定义登录界面提升不同访问级别的用户体验
通过自定义登录模块、菜单项和其他内容,为用户提供一致、定制的体验,从而改善用户体验。
感谢 Katerina Vorobyova 将本文翻译成俄语。
在我之前的一篇文章中,我通过一个示例讲解了我们在网站前端为学生和教师创建了一些内容。学生登录后看到学生信息,而教师则看到学生和教师信息。
这工作得很好,并实现了我们想要的行为,但用户体验确实有待提高。如果我想根据哪个用户组登录网站来提供不同的登录欢迎界面怎么办?另外,根据您是通过模块还是通过菜单链接登录您的 Joomla 网站,您将获得不同的默认体验。
登录模块
登录模块可在 Joomla 2.5 网站的首页找到,无论是否安装了示例数据。当您使用此框登录时,登录模块将默认将您导向网站的主页。
您可以通过编辑模块来更改此设置。转到扩展 - 模块管理器 - 登录(您需要找到位于位置-7的网站的正确登录框)。查看屏幕右侧的配置选项
在“登录重定向页面”选项下方,这是您设置登录框在您登录网站时应发送您到哪个页面的地方。从下拉菜单中,您可以选择与您的网站通过菜单连接的任何页面。“默认”表示网站的默认页面(通常是主页)。
如果登录框位于页面底部很远的位置,远到用户需要滚动才能看到,并且如果该框仅位于网站的首页(登录模块默认重定向到的页面),那么可能会导致混淆。用户登录后看到的是他们刚刚所在的同一屏幕。他们必须滚动页面才能找到登录框已更改为注销按钮,以确保登录成功。遗憾的是,这是在1024x768显示器上使用带有样本数据的Joomla网站上的用户默认行为。
登录菜单链接
您还可以创建一个指向包含登录表单的页面的菜单链接。为此,请转到菜单 - 主菜单(或您选择的任何菜单)- 添加新菜单项。点击菜单项类型旁边的选择,并选择位于用户管理器下的登录表单。查看配置屏幕的右侧,您将看到以下内容
此登录配置屏幕默认不会将用户重定向到页面。相反,它默认将用户重定向到他们的个人资料,而不是网站上的特定页面。要配置重定向到网站上的特定页面,请在登录重定向框中输入该页面的URL。
使用上面的登录屏幕登录时,用户会看到默认设置下的以下内容
三种提高登录/注销用户体验的方法
1. 保持重定向的一致性
您是否在网站上同时使用登录模块和登录链接?请确保两个登录都重定向到同一页面,无论人们在何处登录,都能提供相同的用户体验。或者,提供登录模块或登录链接以登录网站,并确保它重定向到有意义的页面。同样,请确保登录模块和登录链接在注销时重定向到同一页面。
即使您在网站上只使用一个登录选项,也请确保您利用重定向来提高用户体验,并清楚地表明有人已登录或注销网站。
2. 根据登录的用户组自定义登录页面
如果您希望学生在登录时看到一条消息,但教师应该看到另一条消息怎么办?以及如果学校管理员应该看到教师和学生以及他们自己的登录消息怎么办?
Joomla仅允许登录模块或页面的重定向到一个页面。在该界面中,没有方法可以明确指出,学生应该看到一页,而教师应该看到另一页。登录时,每个人都看到同一页。
当您只有一个页面可以工作时,您如何提高体验?通过使该页面非常高效,并利用Joomla的ACL。
以下是我将如何设置一个可以满足三个受众群体的登录页面的示例
- 为登录页面设置一个类别,并将访问级别设置为注册用户(即所有三个受众都可以看到该类别中的内容)
- 现在在该类别中设置一个文章。在文章中,而不是输入内容,使用[loadposition]输入三个模块位置。例如:[loadposition student]、[loadposition teacher]、[loadposition admin](用花括号替换方括号。)
- 为每个访问级别创建模块,位置为学生、教师和行政(或对应于您的loadposition代码)。这些可以是自定义HTML模块,其中可以包含针对每个访问级别定制的功能。
- 当访客到达网站时,他们将看到针对用户访问级别定制的模块(s)。
以下是使此功能生效的更详细说明。
步骤1:确保用户是注册用户组的一部分。
您的网站用户被分配到一个或多个用户组中。请确保其中之一是注册用户组,这样所有已登录的用户都可以看到一些共同的内容。未登录的公共用户将无法看到为注册用户设置的内容。(请参阅早期的ACL文章了解如何配置。)
步骤 2:为登录主页创建一个类别、一篇文章和一个菜单项。
为您的登录主页创建一个类别,名称可以是“登录主页”。将类别的访问级别设置为注册。(学生和教师用户组应包含在注册访问级别中。)
在类别中创建一篇文章。文章应包含每个访问级别的模块位置。
在菜单管理器中为菜单创建链接,选择“单篇文章”作为类型,并链接到您的登录主页文章。将菜单项的访问级别也设置为注册。
如果您不希望登录页面链接出现在您的导航中,您始终可以使用隐藏菜单技术来隐藏链接。
步骤 3:创建模块。
在模块管理器中创建单个自定义HTML模块。为每个模块分配适当的访问级别和模块位置。例如,为具有“学生”位置的访问级别创建一个模块,一个为具有“教师”位置的访问级别创建的模块,以及一个为具有“注册”位置的访问级别创建的模块。
当有人登录到网站时,他们会看到文章,因为他们是注册访问级别的一部分。他们看到的模块将由模块的访问级别确定。在这种情况下,学生可能只能看到学生模块,教师可以看到教师和学生模块,管理员可以看到所有三个模块。
3. 创建一个易于找到的注销按钮
当您登录到Joomla网站时,登录模块会转换为注销按钮。如果模块在网站的每一页上显示,那就很好,但通常,模块可能只在一页(或几页)上显示。这意味着用户需要回到那一页才能注销网站。同样,如果网站上有一个登录链接,用户也必须返回到登录页面(即使他们想注销,该页面导航中可能仍然写着“登录”)。
不是很好吗,在网站的每一页上都有一个“注销”按钮?
或者不是更好吗,如果您能在导航中有一个“注销”链接?
使用ACL,您可以实现这两者,并且您应该设置它们以提供更好的用户体验。
使登录模块支持注销
如果您希望当用户登录时在每个页面上显示“注销”按钮,但又不想在网站的每一页上显示登录框,以下是实现此目的的方法。
创建第二个登录模块。将访问级别分配给注册,并使它在网站的每一页上显示。
这个第二个登录模块仅在有人已登录到网站时才显示。当已经登录时,模块显示为注销按钮。如果他们点击注销按钮,模块将不再显示——因为您已经注销,不再属于注册访问级别!
在导航中创建“注销”链接
如果您希望在导航中有一个“注销”链接,但只想在有人登录到网站时显示,以下是实现此目的的方法。
创建一个登录类型的菜单项。菜单项的标题可以是注销。将此链接的访问级别设置为注册。
现在此菜单项仅在用户登录网站时显示。当他们点击注销链接时,他们将获得一个带有注销按钮的页面,他们可以点击。这与上述模块技术相比多了一个点击,但对于某些用户来说可能更直观,或者它可能更适合某些网站设计。您只需测试并查看哪种方式最适合您!
在 Joomla 社区杂志上发表的一些文章代表了作者在特定主题上的个人观点或经验,可能不代表 Joomla 项目官方立场。
接受后,您将访问 https://magazine.joomla.net.cn/ 外部的第三方服务
评论