如何在 Magnolia CMS 中向登录用户显示页面的某些内容部分
Posted
技术标签:
【中文标题】如何在 Magnolia CMS 中向登录用户显示页面的某些内容部分【英文标题】:How to show certain content part of the page to Logged in users In Magnolia CMS 【发布时间】:2016-04-11 10:15:42 【问题描述】:我可以使用 ACL 保护页面和 HTTP 资源,但我想保护页面中的某些内容部分,只允许登录用户使用?这如何在 Magnolia CMS 中实现?
例如。我只想向登录用户显示产品的价格。
我们是否需要通过复制来创建受保护和不受保护的内容,还是有办法只保护内容的价格部分?
【问题讨论】:
【参考方案1】:你可以在模板脚本中做:
[#assign username = (ctx.user.name)! /]
[#assign loggedIn = username?has_content && username != 'anonymous' /]
<div>
Some unprotected content...
[#if loggedIn]
<span class="protected">only for logged in users</span>
[/#if]
... and again unprotected.
</div>
无论如何,如果您已经有一个自定义模型类,我会添加一个 isLoggedIn()
方法,执行检查(您可以在那里添加更多检查,即用户是否具有某些必需的角色),并在模板脚本:
<div>
Some unprotected content...
[#if model.loggedIn]
<span class="protected">only for logged in users</span>
[/#if]
... and again unprotected.
</div>
【讨论】:
以上是关于如何在 Magnolia CMS 中向登录用户显示页面的某些内容部分的主要内容,如果未能解决你的问题,请参考以下文章