On Tue, 06 Dec 2005 22:29:36 +0100
Stefan Lindecke <[EMAIL PROTECTED]> wrote:

Hallo,

> Klasse ! Kannst du ein paar Tipps zu einbindung geben ? Evt. Script auch 
> per PN ? Ich baue gerade ein wenig mit Perl rum, um auch meine 
> Print-Sache einzubauen. Da die Textbausteinmoeglichkeit auf alle Faelle 
> sinnvoll ist, koennte man doch beides gleichzeitig integrieren.

Hier meine Änderungen:

Verzeichnis: Kernel/Output/HTML/Standard:

css.dtl:

am Schluss:

# Textblock Links...
a.textblock {
  cursor: default;
  background-color: #ffffff;
}

a.textblock:hover {
  cursor: pointer;
  background-color: #ffff80;
}

AgentTicketCompose.dtl:

Oben ins Javascript:

function textblock(myField, myValue)
{
        //IE support
        if (document.selection)
        {
                myField.focus();
                sel = document.selection.createRange();
                sel.text = myValue;
                myField.focus();
        }
                //MOZILLA/NETSCAPE support
        else if (myField.selectionStart || myField.selectionStart == '0') {
                var startPos = myField.selectionStart;
                var endPos = myField.selectionEnd;
                myField.value = myField.value.substring(0, startPos) + myValue 
+ myField.value.substring(endPos, myField.value.length);
                myField.selectionStart = startPos+myValue.length; 
                myField.selectionEnd= startPos+myValue.length; myField.focus();
        }
        else
        {
                myField.value += myValue;
                myField.focus();
        }
}

in der Mitte etwa:

Suchen nach:

<pre>
<textarea name="Body" rows="25" 
cols="$Config{"Ticket::Frontend::TextAreaEmail"}">
$Data{"ResponseFormat"} </textarea>
</pre>

Ersetzen Durch:

      <table width="100%" align="center" border="0" cellspacing="0" 
cellpadding="0"><tr><td width="50%" align="left"> <pre>
<textarea name="Body" rows="35" 
cols="$Config{"Ticket::Frontend::TextAreaEmail"}">
$Data{"ResponseFormat"} </textarea>
</pre>
      </td><td width="50%" align="left" 
valign="top">$Include{"Textblock"}</td></tr></table>

Und dann eine Datei erstellen: Textblock.dtl

<a class="textblock" onClick="javascript:textblock(document.compose.Body, 'Text 
für die Textarea...');">Beschreibung</a>
usw...

Wenn man nun auf den Link klickt erscheint der Text an der aktuellen 
Cursor-Position in der Textarea.

Es sind allerdings noch 2 Bugs vorhanden:

- Wenn die Textarea keinen Fokus hatte, wenn man auf den Link klickt, wird der 
Text am Ende des Textes eingefügt
- Es dürfen keine zulange Text im onClock=""-Block sein. Ich muss mal schaun, 
dass ich das evt mit Javascript Arrays löse.

Die Datei Textblock.dtl kann man dann den Webserver als Owner zuweisen und mit 
jedem beliebigen Script erstellen.

Sonnige Grüsse,
Timo Eckert
_______________________________________________
OTRS Mailingliste: otrs-de - Webpage: http://otrs.org/
Archiv: http://lists.otrs.org/pipermail/otrs-de/
Listenabo verwalten: http://lists.otrs.org/cgi-bin/listinfo/otrs-de/
Support oder Consulting fuer Ihr OTRS System?
=> http://www.otrs.de/

Antwort per Email an