Customer Suche Drucken anpassen

Hilfe zu Znuny Problemen aller Art
Locked
newkommer
Znuny newbie
Posts: 77
Joined: 09 Mar 2015, 14:56
Znuny Version: 5.0.10

Customer Suche Drucken anpassen

Post by newkommer »

Hallo zusammen,

ich habe gemerkt, dass die Option "Augabe nach: Drucken" sich von den anderen Optionen in der Suche des Customer-Interfaces unterscheidet. Leider habe ich niergends gefunden, wie ich die angezeigten Informationen wie beispielsweise "Queue" oder "Kundennummer" ausblenden und andere hinzufügen kann.

Wo ist dies möglich?
RStraub
Znuny guru
Posts: 2210
Joined: 13 Mar 2014, 09:16
Znuny Version: 6.0.14
Real Name: Rolf Straub

Re: Customer Suche Drucken anpassen

Post by RStraub »

SysConfig -> Ticket -> Frontend::Customer::Customer::*

dahinter sind 4-5 Einträge, unter anderem auch ViewSearch (Anzeige bei der Suche) und ViewPrint (Anzeige beim pdf-Druck).

In dem Eintrag ViewSearch ist neben der Darstellung der Suchergebnisse auch der Eintrag "###SearchCSVData", darin kann man einstellen welche Spalten im CSV Export ausgegeben werden. Hierbei beachten dass dynamischem Feldern "DynamicField_" vorangestellt werden muss.

Edit: Gerade festgestellt das man dort überall nur dynamische Felder Ein- und Ausblenden kann. Nur der CSV Export lässt auch andere Spalten zu.
Der pdf-Druck ist generell in den Perl Dateien "fest" gecoded und müsste per Anpassung direkt in der .pm Datei vorgenommen werden.
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
newkommer
Znuny newbie
Posts: 77
Joined: 09 Mar 2015, 14:56
Znuny Version: 5.0.10

Re: Customer Suche Drucken anpassen

Post by newkommer »

Hallo Rolf,

ich habe jetzt die Druckausgabe mit der Datei CustomerTicketSerachResultPrint.tt angepasst. Jetzt tauchen die ungewünschten Einträge nicht mehr auf :) . Jedoch würde ich gerne noch Dynamische Felder aufnehmen. Meine bisherigen Versuche haben leider nicht geklappt. Weißt Du wie ich das mache?
RStraub
Znuny guru
Posts: 2210
Joined: 13 Mar 2014, 09:16
Znuny Version: 6.0.14
Real Name: Rolf Straub

Re: Customer Suche Drucken anpassen

Post by RStraub »

Rauswerfen war da der leichte Teil :)

Also, nehmen wir mal du möchtest ein dyn. Feld mit dem Namen "DynamicField_Position" einfügen, dann brauchst du zwei Anpassungen:

1) Der .pm Datei beibringen dass diese Daten übergeben werden sollen. Dazu müsstest du im "~otrs/Kernel/Modules/CustomerTicketSearch.pm" den Teil suchen der für den Print zuständig ist:

Code: Select all

        elsif ( $GetParam{ResultForm} eq 'Print' ) {
Und innerhalb dieses "if" den Teil raussuchen der die "Records" erstellt:

Code: Select all

             # add blocks to template
                $Self->{LayoutObject}->Block(
                    Name => 'Record',
                    Data => {
                        %Article,
                        Subject => $Subject,
                        %Owner,
                    },
                );
Dort kannst du im Data Hash dann das dynamische Feld übergeben, z.B.

Code: Select all

             # add blocks to template
                $Self->{LayoutObject}->Block(
                    Name => 'Record',
                    Data => {
                        %Article,
                        Subject => $Subject,
                        %Owner,
                        Position => $WertdesDynamischenFeldes,
                    },
                );
(Den Wert müsstest du auch auslesen aus $Self->{DynamicField}->... ; Ich hab die Syntax nicht im Kopf, aber das ist recht komplex, fang mal mit einem festen Wert an bis du diesen auf der PDF siehst)

2) Diesen Eintrag im .tt anzeigen:

Wenn du die "td" einträgen dringelassen hast, wird auch die Tabelle nicht zerschossen, sonst die Breite anpassen und neue Header setzen. Dann innerhalb des RenderBlock "Record" einen Eintrag hinzufügen:

Code: Select all

<td class="contentvalue">[% Data.Position %]</td>
Frohes modden :)
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
newkommer
Znuny newbie
Posts: 77
Joined: 09 Mar 2015, 14:56
Znuny Version: 5.0.10

Re: Customer Suche Drucken anpassen

Post by newkommer »

Hallo Rolf,

danke schon einmal für deine Hilfe!
Ich habe es wie Du beschrieben hast probiert. Leider funktioniert es noch nicht...

In der Datei ~otrs/Custom/Kernel/Modules/CustomerTicketSearch.pm habe ich folgendes ergänzt:

Code: Select all

# add blocks to template
    $Self->{LayoutObject}->Block(
        Name => 'Record',
        Data => {
            %Article,
            Subject => $Subject,
            %Owner,
            Position => 'test',
            },
     );
Und meine Datei ~otrs/Custom/Kernel/Output/HTML/Standard/CustomerTicketSearchResultPrint.tt lautet folgendermaßen:

Code: Select all

<table border="0" width="100%" cellspacing="0" cellpadding="4">
    <tr>
        <td class="contentbody">
            <table border="0" width="100%" cellspacing="0" cellpadding="3">
                <tr>
                    <td width="15%" class="contentkey">[% Config("Ticket::Hook") %]</td>
                    <td width="20%" class="contentkey">[% Translate("Subject") | html %]</td>
                    <td width="20%" class="contentkey">[% Translate("From") | html %]</td>
                    <td width="20%" class="contentkey">[% Translate("State") | html %]</td>
                    <td width="15%" class="contentkey">[% Translate("Created") | html %]</td>
		    <td width="10%" class="contentkey">[% Translate("Position") %]</td>
                </tr>
[% RenderBlockStart("Record") %]
                <tr>
                    <td class="contentvalue">[% Data.TicketNumber %]</td>
                    <td class="contentvalue">[% Data.Subject | html %]</td>
                    <td class="contentvalue">[% Data.From | html %]</td>
                    <td class="contentvalue">[% Translate(Data.State) | html %]</td>
                    <td class="contentvalue">[% Data.Created | Localize("TimeLong") %]</td>
		    <td class="contentvalue">[% Data.Position %]</td>
                </tr>
[% RenderBlockEnd("Record") %]
        </td>
    </tr>
</table>
Irgendwas mache ich wohl noch falsch, dass die Variable nicht richtig übergeben wird :( .
Kannst Du mir bitte nochmal weiterhelfen?
RStraub
Znuny guru
Posts: 2210
Joined: 13 Mar 2014, 09:16
Znuny Version: 6.0.14
Real Name: Rolf Straub

Re: Customer Suche Drucken anpassen

Post by RStraub »

Gerade getestet und das funktioniert.

Hast du sichergestellt dass:

1) Die Änderung in der .pm Datei innerhalb des

Code: Select all

        elsif ( $GetParam{ResultForm} eq 'Print' ) {
Blockes ist?

2) Du deine Suche als "Drucken" ausgibst?
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
newkommer
Znuny newbie
Posts: 77
Joined: 09 Mar 2015, 14:56
Znuny Version: 5.0.10

Re: Customer Suche Drucken anpassen

Post by newkommer »

Hallo Rolf,

ich habe mich jetzt nochmals versichert, dass ich es genauso gemacht habe wie Du es mir sagest:
-In der Datei CustomerTicketSearch.pm habe ich im Block "elsif ( $GetParam{ResultForm} eq 'Print' ) {" in der Zeile 814 die Zeile mit "Position => 'test'," hinzugefügt.
-Die Ausgabeoption ist auf "Drucken" gestellt

Die Spaltenüberschrift "Position" wird angezeigt aber kein Inhalt...
RStraub
Znuny guru
Posts: 2210
Joined: 13 Mar 2014, 09:16
Znuny Version: 6.0.14
Real Name: Rolf Straub

Re: Customer Suche Drucken anpassen

Post by RStraub »

Du sorry, das sieht genau richtig aus und wie gesagt, bei mir funktioniert's :/

Evtl. könntest du mal einen Apache neustart / reload durchführen, vll. hat er das .pm noch nicht geladen...
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
newkommer
Znuny newbie
Posts: 77
Joined: 09 Mar 2015, 14:56
Znuny Version: 5.0.10

Re: Customer Suche Drucken anpassen

Post by newkommer »

Hallo Rolf,

vielen Dank für den Hinweis! Genau das war es :). Jetzt bekomme ich den statischen Wert angezeigt!
Um den Wert dynamisch zu gestalten braucht man die gewissen Syntax. Gibt es irgendwo eine Referenz dazu?
RStraub
Znuny guru
Posts: 2210
Joined: 13 Mar 2014, 09:16
Znuny Version: 6.0.14
Real Name: Rolf Straub

Re: Customer Suche Drucken anpassen

Post by RStraub »

Gerade gesehen, ich hab das damals viel zu kompliziert gemacht.

Versuchs mal mit einem Aufruf über "ValueGet" wie hier beschrieben:
http://otrs.perl-services.de/docs/otrs/ ... value.html
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
Locked