2016-04-11 3 views
1

ACLを使用してページとHTTPリソースを保護できますが、ページ内の特定のコンテンツセクションをログインユーザーのみに保護したいのですか?これはMagnolia CMSでどのように実装できますか?ログインするユーザーにページの特定のコンテンツ部分を表示する方法Magnolia CMS

Ex。私は、ログインしたユーザーにのみ、製品の価格を表示したい。

複製によって保護された保護されていない保護を作成する必要がありますか、またはコンテンツの価格部分だけを保護する方法はありますか?

答えて

0

あなたはテンプレートスクリプトでそれを行うことができます、

[#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>