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