Dieser Beitrag hat mehr als 9000 Treffer in Englisch. Ich hoffe, sie übersetzt auch zu Ihnen.
Was bedeutet das tun? Er zeigt Dinge wie FreeTextFields, Kunden auf der Warteschlange wählen sie basiert. Es ist Client-Seite und setzt auf CSS-Elemente zu verstecken. Auch zeigt dieser Code, den Sie, wie Sie den Körper auf der Basis der Warteschlange zu ändern.
Bearbeiten Kernel/Output/HTML/Standard (oder Ihr Thema! Empfohlen!)/CustomerTicketMessage.dtl
Wir werden die JS und CSS zu verwenden, um hide / show Inhalt.
Code: Select all
<script type="text/javascript">
Core.Customer.InitFocus();
//über zwei Zeilen sind schon da
switch ($('#Dest').val() ) { //Hier wird die Queue ist relevant (Dest = Queue)
case "3\|\|Junk": // müssen die Rohre (pipes? ||) Schrägstrich zu entkommen
document.compose.RichText.value = "Das ist Junk<br/>und Zeile 2"; // nur, wenn Sie den Körper ändern wollen. zerstört, wenn Benutzereingaben Queue Änderungen
document.getElementById('TicketFreeText1').style.display = 'block';
document.getElementById('LabelTicketFreeText1').style.display = 'block';
break;
default:
document.compose.RichText.value = $('#Dest').val(); //entfernen Sie diese. nur debuggen. Queue zeigt Informationen
document.getElementById('TicketFreeText1').style.display = 'none';
document.getElementById('LabelTicketFreeText1').style.display = 'none';
}
// die folgenden beiden Zeilen sind die bestehenden beiden letzten Zeilen von CustomerTicketMessage.dtl
</script>
<!-- dtl:js_on_document_complete -->
Übrigens ich sollte wohl fügte hinzu, dass wenn Sie sich auf viele verschiedene Queues zu tun sind, werden Sie wahrscheinlich wollen eine Funktion, die style.display = 'none' für alle Ihre TicketFreeText, bevor Sie die Dinge zu zeigen.
Code: Select all
<script type="text/javascript">
Core.Customer.InitFocus();
//above two lines are already there
function nonetext() {
// you should only add lines in here that A) you have defined in SysConfig and B) that you will show ... somewhen (in the switch/case) but not all the time.
document.getElementById('TicketFreeText1').style.display = 'none';
document.getElementById('LabelTicketFreeText1').style.display = 'none';
document.getElementById('TicketFreeText2').style.display = 'none';
document.getElementById('LabelTicketFreeText2').style.display = 'none';
document.getElementById('TicketFreeText3').style.display = 'none';
document.getElementById('LabelTicketFreeText3').style.display = 'none';
document.getElementById('TicketFreeText4').style.display = 'none';
document.getElementById('LabelTicketFreeText4').style.display = 'none';
}
switch ($('#Dest').val() ) { //this is where the queue is relevant (Dest = Queue)
case "3\|\|Junk": // need to slash escape the pipes
document.compose.RichText.value = "This is junk<br/>and line 2"; // only if you want to change the body. destroys user input if queue changes
nonetext(); // This clears all the ticketfreetext listed before showing what you want
document.getElementById('TicketFreeText1').style.display = 'block';
document.getElementById('LabelTicketFreeText1').style.display = 'block';
break;
case "5\|\|AnotherQueue": //Don't forget to slash escape BOTH pipes.
document.compose.RichText.value = "This is another queue<br/>and line 2"; // only if you want to change the body. destroys user input if queue changes
nonetext(); // This clears all the ticketfreetext listed before showing what you want
document.getElementById('TicketFreeText2').style.display = 'block';
document.getElementById('LabelTicketFreeText2').style.display = 'block';
document.getElementById('TicketFreeText3').style.display = 'block';
document.getElementById('LabelTicketFreeText3').style.display = 'block';
document.getElementById('TicketFreeText4').style.display = 'block';
document.getElementById('LabelTicketFreeText4').style.display = 'block';
break;
default:
document.compose.RichText.value = $('#Dest').val(); //remove this. debug only. shows queue information
document.getElementById('TicketFreeText1').style.display = 'none';
document.getElementById('LabelTicketFreeText1').style.display = 'none';
Wenn Sie ein Feld, um dann erforderlich, wenn gezeigt werden soll, müssen Sie eine Klasse, um es hinzuzufügen, aber machen Sie nicht zwingend in das Feld SysConfig:
Code: Select all
document.getElementById('DynamicField_TicketFreeText1').className = 'Validate_Required';