Dieser Workaround ist nur in bestimmten Szenarien notwendig, zum Beispiel wenn Sie ein Formular in einem Web Widget, nicht aber im Help Center verwenden möchten. Wie Sie für verschiedene Marken unterschiedliche Formulare verwenden, erfahren Sie unter Erstellen und Anwenden markenspezifischer Ticketformulare.
Ich habe für meine Marken jeweils ein eigenes Help Center erstellt und möchte jetzt Ticketformulare für die einzelnen Marken verwenden. Aber halt! Ich möchte nicht, dass die Formulare für meine primäre Marke im Help Center für meine sekundäre Marke angezeigt werden. Dieser kleine Trick wird hoffentlich dafür sorgen, dass das nicht passiert.
In diesem Beitrag werden zwei Szenarien behandelt:
-
Auswählen von Ticketformularen für Marken mit mehreren Formularen
- Anzeigen eines einzigen Ticketformulars pro Marke
Ermitteln der Formular-IDs
Wenn Sie ein Formular ausblenden oder isolieren möchten, müssen Sie zunächst die Formular-ID ermitteln, damit Sie es gezielt nutzen können. Die Erstellung von Formularen wird in diesem Beitrag nicht beschrieben. Weitere Informationen zum Erstellen von Ticketformularen finden Sie unter Erstellen mehrerer Ticketformulare für unterschiedliche Arten von Anfragen.
So ermitteln Sie die Formular-ID in der Agentenoberfläche
- Klicken Sie in der Seitenleiste des Admin Centers auf das Symbol Objekte und Regeln () und dann auf Tickets > Formulare.
- Klicken Sie auf den Namen des Formulars, das Sie ausblenden oder als einziges Formular verwenden möchten.
- Notieren Sie sich die Formular-ID in der Adresszeile (siehe unten).
- Wiederholen Sie diese Schritte für alle weiteren Formulare, die Sie ausblenden oder isolieren möchten.
Anzeigen mehrerer Formulare pro Marke
In vielen Fällen werden in einem Help Center verschiedene Arten von Anfragen besprochen. In diesem Abschnitt erfahren Sie, wie Sie Ticketformulare, die im Help Center einer bestimmten Marke nicht erscheinen sollen, gezielt ausblenden und die übrigen Formulare dem Endbenutzer weiterhin zur Auswahl anbieten.
Code
Nachdem wir die Ticketformulare, die wir ausblenden möchten, wie oben beschrieben erfasst haben, können wir sie nun mit dem folgenden Code ansprechen.
Sie sollten beim Anpassen des Help Centers eine dieser Versionen des Codes in die Funktion
$(document).ready(function(){
der Vorlage script.js
einfügen.
Option 1
Bei der ersten Variante wiederholen Sie einfach die Zeilen, in denen sich die Formular-IDs befinden. Meine Formular-IDs lauten
12775
und
31495
.
//remove the options from the dropdown selector $('#request_issue_type_select option[value="12775"]').remove(); $('#request_issue_type_select option[value="31495"]').remove(); //remove the options from the nesty-input after it's been created. $('.nesty-panel').on('DOMNodeInserted', function(e){ $(this).children('ul').children().remove('#12775'); $(this).children('ul').children().remove('#31495'); });
Option 2
Bei der zweiten Variante habe ich mich hingegen für ein Array entschieden, sodass wir die Liste der Formulare, die wir ausblenden möchten, einfach in die eckigen Klammern einfügen können:
[ 12775,31495 ]
. Hierbei müssen Sie die IDs durch Kommas getrennt eingeben. Dadurch wird die Funktion in einer Schleife durchlaufen, bis alle IDs entfernt wurden.
$.each([ 12775,31495 ], function( index , formValue ) { $('#request_issue_type_select option[value="' + formValue + '"]').remove(); $('.nesty-panel').on('DOMNodeInserted', function(e){ $(this).children('ul').children().remove('#' + formValue); }); });
Anzeigen eines einzigen Formulars pro Marke
Jetzt werden Sie vielleicht sagen: „Ich brauche für jede Marke nur ein einziges Formular“. Auch das ist ein durchaus akzeptabler Workflow. Um sich das Ausblenden aller überzähligen Marken zu ersparen, ändern Sie den Link „Anfrage einreichen“ so, dass der Benutzer direkt zu einem Ihrer Formulare weitergeleitet wird, und blenden Sie die Dropdownliste „Unten Problem auswählen“ im Formular aus.
Code
Zur Weiterleitung des Benutzers an ein bestimmtes Formular müssen Sie wie oben beschrieben die entsprechende Formular-ID ermitteln.
Mit der Help-Center-Vorlagensprache Curlybars können wir den Link „Anfrage einreichen“ mühelos ersetzen. Eine ausführliche Dokumentation zum Bearbeiten von Vorlagen mit Curlybars finden Sie hier.
Sie sollten diesen Code an der Stelle in die Vorlage „Kopfbereich“ einfügen, an der der Link „Anfrage einreichen“ erscheinen soll (ersetzen Sie die
ticket_form_id
durch Ihre eigene ID). Dadurch wird die Lokalisierung berücksichtigt und der Link in der richtigen Sprache angezeigt, wenn Ihr Help Center mehrere Sprachen unterstützt:
<a href="{{page_path 'new_request' ticket_form_id='17369'}}">{{t 'submit_a_request'}}</a>
Entfernen des Auswahlfelds für Formulare aus dem Ticketformular
Als Nächstes entfernen wir das Dropdownfeld für die Formularauswahl aus dem Ticketformular, damit Benutzer kein anderes Formular für die aktuelle Marke auswählen können. Diesen Code sollten Sie in die Vorlage style.css
Ihres Help Centers einfügen:
.request_ticket_form_id{ display:none; }
Fügen Sie den CSS-Code in die Vorlage style.css
ein.
Funktionsweise
Beim Generieren der Seite für eine neue Anfrage werden alle für Endbenutzer bestimmte Ticketformulare in der Dropdownliste angezeigt. Im ersten Beispiel werden die Formulare ausgeblendet, die für die jeweils angegebenen Marke nicht angezeigt werden sollen. Im zweiten Beispiel wird der Benutzer einfach zu einem bestimmten Formular weitergeleitet, das für die Marke vorgegeben ist.