質問
ユーザーのロールまたはグループに基づいてHTMLの表示と非表示を切り替えるにはどうすればよいですか?
回答
以下の2つのセクションを参照してください。
ユーザーのロールに基づいてHTMLを表示または非表示にする
非表示にする情報が機密扱いの場合は、ブラウザでソースの表示を選択することで全文を表示できるため、これは有効な解決策ではない可能性があります。
ただし、ヘルプセンターに実装するサンプルコードと、配置する場所をスクリーンキャストで見てみましょう。
<div class="anonymous">
<center><h1>Welcome Anonymous User!</h1></center>
</div> <div class="end_user">
<center><h1>Welcome End-User!</h1></center>
</div> <div class="agent">
<center><h1>Welcome Agent!</h1></center>
</div> <div class="manager">
<center><h1>Welcome Manager!</h1></center>
</div>
次のコードをCSSテンプレートの下に挿入します。
/*hide role-specific div html*/
div.anonymous, div.end_user, div.agent, div.manager {
display: none;
}
次のコードをJSテンプレートの下に挿入します。
// Show div html based on role
if (HelpCenter.user.role=="anonymous"){
$("div.anonymous").show();
}
if (HelpCenter.user.role=="end_user"){
$("div.end_user").show();
}
if (HelpCenter.user.role=="agent"){
$("div.agent").show();
}
if (HelpCenter.user.role=="manager"){
$("div.manager").show();
}
ユーザーのグループに基づいてHTMLを非表示または表示にする
グループに基づいてHTMLを表示/非表示にする場合は、上記の手順と同じです。ただし、JSテンプレートでは、以下のコードを使用します。
var groups = HelpCenter.user.groups;
for (var i = 0; i < groups.length; i++) {
if (groups[i].name == 'L2 Support' && groups[i].isActive == true) {
$("div.l2").show();
}
}
ヘルプセンターのテンプレートの編集について詳しくは、次の記事を参照してください:「ヘルプセンターテーマのカスタマイズ(Guide ProfessionalおよびEnterprise)」
免責事項:この記事は説明のみを目的として提供されています。記事内で例示したコードについて、Zendeskはサポートも保証もいたしません。何か問題があった場合はコメントセクションに投稿するか、インターネットで解決策を探してみてください。
メモ:jQueryはデフォルトでは提供されません。jQueryステートメントをバニラのJavaScriptのかわりにテーマ内で使用したい場合は、必ずjQueryライブラリをインポートしてください。詳細については、次の記事を参照してください:「jQueryのインポートまたはアップグレード」
0 コメント
サインインしてコメントを残してください。