質問
ユーザーの組織に基づいてチケットフォームを非表示にするにはどうすればよいですか?
回答
免責事項:この記事は説明のみを目的として提供されています。記事内で例示したコードについて、Zendeskはサポートも保証もいたしません。また、Zendeskは、JavaScript、jQuery、CSSなどのサードパーティの技術に対してサポートを提供することができません。 何か問題があった場合はコメントセクションに投稿するか、インターネットで解決策を探してみてください。
特定のチケットフォームをユーザーの組織名に基づいて非表示にするには、次の手順を実行します:
ステップ1:チケットフォームのIDを確認する
ステップ2:組織名を確認する
ステップ3:JavaScriptを編集する
- Guideで、サイドバーにある「デザインをカスタマイズ」アイコン(
)をクリックします。「テーマ」ページが開きます。
- 編集したいテーマをクリックして、開きます。
- オプションメニューをクリックし、「コードを編集」を選択して、「script.js」を選択します。
- 下記のコードブロックをコピーします。
$(window).on('load', function() {
var i = 0;
var checkExist = setInterval(function() {
i++;
if ($("a.nesty-input").length){
clearInterval(checkExist);
$("a.nesty-input").each(function() {
$(this).bind( "click", function() {
for (var c in HelpCenter.user.organizations) {
if (HelpCenter.user.organizations[c].name !== "ZENDESK"){
$("#TICKET_FORM_ID").remove();
}
//reserve space for additional organizations
}
});
});
}
if (i > 10){
clearInterval(checkExist);
}
}, 100);
}); - 「TICKET_FORM_ID」を上記で見つけた実際のチケットフォームのIDに置き換えます。
- 「ZENDESK」は、チケットフォームに表示させる実際の組織名に置き換えます。
- コードをヘルプセンターコードのJavaScriptテンプレートに貼り付けます。
- テンプレートを保存し、変更を公開します。
提供されたコードは、追加の組織のためのスペースを確保します。フォームと組織を追加するには、上記のif文をコピーし、以下のように既存のif文の下に置きます。チケットフォームIDを正しいものに置き換え、さらにユーザーが入っているかどうかを確認する組織に置き換えます。 必要に応じてチケットフォームと組織でこれを繰り返します。
for (var c in HelpCenter.user.organizations) {
if (HelpCenter.user.organizations[c].name !== "ZENDESK"){
$("#TICKT_FORM_ID").remove();
}if (HelpCenter.user.organizations[c].name !== "MYORG"){
$("#TICKET_FORM_ID2").remove();
}
メモ: このワークフローは、認証されていないユーザーまたは組織に所属していないユーザーには機能しません。これらのユーザーには、すべてのフォームが表示されます。
0 コメント
サインインしてコメントを残してください。