Hallo,
Ich würde gern den FAQ Bereich für FAQs im ursprünglichen Sinne als auch zur Veröffentlichung von Anleitungen und Dokumentationen verwenden. Für die FAQs ist die Einteilung in Symptom, Problem, Lösung und Kommentar sicher sinnvoll, aber für die Dokumentationen brauche ich nur ein Feld. Ich weiss, dass ich die Items in der Sysconfig bearbeiten und entfernen kann, aber ist es auch möglich, diese einfach auszublenden, wenn sie leer gelassen werden?
OTRS Version 3.0.5
FAQ Version 2.0.2
OS Debian Lenny v5
Danke für eure Hilfe!
Gruss, Sem
FAQ Item ausblenden wenn leer
Re: FAQ Item ausblenden wenn leer
Könnt ihr mir dann vielleicht sagen, ob es möglich ist oder nicht? Oder ob es noch alternativmöglichkeiten gibt?
Re: FAQ Item ausblenden wenn leer
Intressanter Punkt, wäre auch für uns sehr nützlich. *push*
"Produktiv": OTRS: 3.0.6
"Testing": None
OS: SLES
Apache2/MySQL 5
"Testing": None
OS: SLES
Apache2/MySQL 5
Re: FAQ Item ausblenden wenn leer
Mach einen Enhancement Bug auf
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master
Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
"Testing": ((OTRS Community Edition)) and git Master
Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
Re: FAQ Item ausblenden wenn leer
Done. Schau ma mal
.

"Produktiv": OTRS: 3.0.6
"Testing": None
OS: SLES
Apache2/MySQL 5
"Testing": None
OS: SLES
Apache2/MySQL 5
Re: FAQ Item ausblenden wenn leer
*winke* mitm Huf
Das Problem ist wohl noch nicht gelöst, ich kann allerdings Lösungsansätze beitragen, da ich ein ähnliches Problem bearbeitet habe.
Die Felder lassen sich zwar generell über die Sysconfig ausschalten, aber nicht dynamisch. Dazu sind eigene Module und Templates notwendig.
Ich wurde angewiesen, dies erstmal hier zu posten, ich werde noch eine Dokumentation dazu erstellen, mich um die Optik kümmern und die eine oder andere Sache ausbügeln.
Ich werde erstmal nur auf den Customer eingehen, der Agent ist nahezu identisch zu bearbeiten.
Momentan habe ich in der NavBar Steuerelemente angelegt, die direkt eine FAQ-Kategorie auswählen. In den Skin kommt:
Aus /Kernel/Modules werden die Dateien CustomerFAQExplorer.pm und CustomerFAQZoom.pm unter neuem Namen (in diesem Fall ein "Allgemein" hinten dran) in diesen Ordner kopiert.
Im Header wird das Package angepaßt, in der Methode Mask_New beim Output (ganz unten, # start template output o.ä.) auf das neue Template verwiesen (auch den neuen Dateinamen).
Die Templates stammen aus /Kernel/Output/HTML/Standart, auch wieder unter neuem Namen einkopieren.
Die CustomerFAQZoomXXX bekommt noch eine weitere Änderung. Die Methode Run wirft bei # show FAQ Content einiges in eine Variable, welche der Inhalt eines Layout-Objects ist. Dies ist auch nur eine Funktion.
In der Datei /Kernel/Output/HTML/LayoutFAQ.pm wird die komplette Methode sub FAQContentShow {...} gleich darunter einkopiert und der Name angepaßt.
Unter # get the config of FAQ fields that should be shown können nun die Felder angepaßt werden.
Meine Aufgabe war es nur, gewisse Felder auszublenden.
Es werden nur Felder 2 und 3 angezeigt. Dynamisch ließe sich das erledigen, indem ein leeres Feld übersprungen wird next FIELD if !$Config->{Show}||....
Gucken und testen. Ich bin noch nicht dazu gekommen, weitere Sachen anzupassen, z.B. sind noch einige Links, die noch auf die alten Methoden verweisen. Die finde ich noch
Das ist eine schnelle aber schmutzige Möglichkeit, dieses Problem zu lösen. Es kommt zur Codeverdopplung und bei einem Update wird die Layout.pm eventuell überschrieben
Ich hoffe, das war einigermaßen verständlich
Sollten trotz Neuaufbau die Steuerelemente nicht da sein, muß der Admin in der SysConfig unter registeredModules in der FAQ-Gruppe nochmals reinschauen und aktualisieren, danach dann das System neu aufbauen.
,,,^..^(")
Das Problem ist wohl noch nicht gelöst, ich kann allerdings Lösungsansätze beitragen, da ich ein ähnliches Problem bearbeitet habe.
Die Felder lassen sich zwar generell über die Sysconfig ausschalten, aber nicht dynamisch. Dazu sind eigene Module und Templates notwendig.
Ich wurde angewiesen, dies erstmal hier zu posten, ich werde noch eine Dokumentation dazu erstellen, mich um die Optik kümmern und die eine oder andere Sache ausbügeln.
Ich werde erstmal nur auf den Customer eingehen, der Agent ist nahezu identisch zu bearbeiten.
Momentan habe ich in der NavBar Steuerelemente angelegt, die direkt eine FAQ-Kategorie auswählen. In den Skin kommt:
Code: Select all
<ConfigItem Name="CustomerFrontend::Module###CustomerFAQExplorerAllgemein" Required="0" Valid="1">
<Description Translatable="1">Frontend module registration for the customer interface.</Description>
<Group>FAQ</Group>
<SubGroup>Frontend::Customer::ModuleRegistration</SubGroup>
<Setting>
<FrontendModuleReg>
<Description>FAQ-Area</Description>
<NavBarName>FAQ</NavBarName>
<Title>FAQAllgemein</Title>
<NavBar>
<Description>anzeigen FAQ-Artikel Allgemein</Description>
<Name>FAQ-Artikel Allgemein anzeigen</Name>
<Link>Action=CustomerFAQExplorerAllgemein;CategoryID=2</Link>
<Type></Type>
<Block></Block>
<AccessKey></AccessKey>
<Prio>941</Prio>
</NavBar>
</FrontendModuleReg>
</Setting>
</ConfigItem>
<ConfigItem Name="CustomerFrontend::Module###CustomerFAQZoomAllgemein" Required="0" Valid="1">
<Description Translatable="1">Frontend module registration for the customer interface.</Description>
<Group>FAQ</Group>
<SubGroup>Frontend::Customer::ModuleRegistration</SubGroup>
<Setting>
<FrontendModuleReg>
<Title></Title>
<Description>Customer FAQ-Zoom Allgemein</Description>
<NavBarName>FAQ</NavBarName>
<Loader>
<CSS>FAQ.Customer.Detail.css</CSS>
<CSS>FAQ.Customer.Default.css</CSS>
</Loader>
</FrontendModuleReg>
</Setting>
</ConfigItem>
Im Header wird das Package angepaßt, in der Methode Mask_New beim Output (ganz unten, # start template output o.ä.) auf das neue Template verwiesen (auch den neuen Dateinamen).
Die Templates stammen aus /Kernel/Output/HTML/Standart, auch wieder unter neuem Namen einkopieren.
Die CustomerFAQZoomXXX bekommt noch eine weitere Änderung. Die Methode Run wirft bei # show FAQ Content einiges in eine Variable, welche der Inhalt eines Layout-Objects ist. Dies ist auch nur eine Funktion.
Code: Select all
$Self->{LayoutObject}->FAQContentShowXXX(...);
Unter # get the config of FAQ fields that should be shown können nun die Felder angepaßt werden.
Meine Aufgabe war es nur, gewisse Felder auszublenden.
Code: Select all
for my $Number ( 2 .. 3 ) {...}
Gucken und testen. Ich bin noch nicht dazu gekommen, weitere Sachen anzupassen, z.B. sind noch einige Links, die noch auf die alten Methoden verweisen. Die finde ich noch

Das ist eine schnelle aber schmutzige Möglichkeit, dieses Problem zu lösen. Es kommt zur Codeverdopplung und bei einem Update wird die Layout.pm eventuell überschrieben

Ich hoffe, das war einigermaßen verständlich

Sollten trotz Neuaufbau die Steuerelemente nicht da sein, muß der Admin in der SysConfig unter registeredModules in der FAQ-Gruppe nochmals reinschauen und aktualisieren, danach dann das System neu aufbauen.
,,,^..^(")