ヘルプセンターで関連するチケットフォームのみをカスタマーに表示することで、カスタマイズされたSupportエクスペリエンスを作成します。このチュートリアルでは、ユーザーの組織に基づいて特定のチケットフォームを非表示にする方法について説明します。
このワークフローには以下のステップが含まれます。
このワークフローは、認証されていないユーザーまたは組織に所属していないユーザーには機能しません。これらのユーザーの場合、すべてのフォームが表示されます。
ステップ1:チケットフォームIDを確認する
- 「チケットフォーム」で、適切なチケットフォームを開きます。
- URLの最後のスラッシュの後にあるID番号を見つけます
ステップ2:組織名を確認する
- Supportで、「カスタマー」タブを開きます。
- 組織を参照または検索して、適切な組織名を見つけます
ステップ3:JavaScriptを編集する
使用するテーマがGuideテンプレートV2の場合は、jQueryをインポートする必要があります。詳細については、「Importing or upgrade jQuery(jQueryのインポートまたはアップグレード)」を参照してください。コードはDOMNodeInserted Mutation Eventを利用しています。ChromeおよびChromiumの新しいバージョンでは、ミューテーションイベントのサポートが終了しています。DOMNodeInsertedをサポートしていないブラウザとの互換性を高めるには、Mutation Observerのガイダンスに従って、新しい関数に移行してください。
コードを編集するには、次の手順に従います。
- 「ナレッジベース」で、サイドバーにある「デザインのカスタマイズ」アイコン(
をクリックします - 編集するテーマの名前をクリックします
- オプションメニューをクリックし、「コードを編集」を選択して、「
Script.js」を選択します。 -
下記のコードブロックをコピーします
$(document).ready(function() { var formID = 6502769669773; // Change this to the form ID you wish to remove var userOrgs = window.HelpCenter.user.organizations; var userOrgNames = userOrgs.map(org => org.name); if (!(userOrgNames.includes("ZENDESK"))) { // Specify the organization name here // If the user does not belong to the organization specified, remove the form option from the dropdown $('#request_issue_type_select option[value="' + formID + '"]').remove(); $('.nesty-panel').on('DOMNodeInserted', function(e) { $(this).children('ul').children().remove('#' + formID); }); } }); - ヘルプセンターコードのJavaScriptテンプレートにコードを貼り付けます
- 変数
formID = 6502769669773を、非表示にするチケットフォームIDに置き換えます -
"ZENDESK"をチケットフォームを表示する組織の名前に置き換えます - テンプレートから
;や}などの文字をコピーしないと、コードによってページが崩れる可能性があります - テンプレートを保存して変更を公開
提供されたコードは、別の組織のためのスペースを確保します。フォームと組織を追加するには、上のifステートメントをコピーし、下の既存のifステートメントの下に配置します。チケットフォームIDを正しいIDと確認したい組織に置き換えます。必要に応じてチケットフォームと組織でこれを繰り返します。
指定された組織を除くすべての組織に1つのチケットフォームを表示するようにコードの動作を変更するには、NOT演算子(!)をifステートメントから削除します。
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();
} 翻訳に関する免責事項:この記事は、お客様の利便性のために自動翻訳ソフ トウェアによって翻訳されたものです。Zendeskでは、翻訳の正確さを期すために相応の努力を払っておりますが、翻訳の正確性につ いては保証いたしません。
翻訳された記事の内容の正確性に関して疑問が生じた場合は、正式版である英語の記事 を参照してください。