IDKategorieVersionAuswirkungReproduzierbarMeldungsdatumLetzte Aktualisierung
1137[openPHPnuke] Moduleopn 2.4.xSchwerer FehlerImmer18.09.2008 13:05:0304.10.2008 16:29:12

ReporterxxxxxxStatus anzeigenÖffentlich
Bearbeitung durchstefanPrioritätNormal
LösungBehobenStatusBehoben
 ProjektionKeine
AufwandKeiner 

Beginn
Fertigstellung

ZusammenfassungRund um Article/Tutorial/Themengruppen Umschaltung
BeschreibungHallo Stefan,

nach mehereren Tagen intensivster Beschäftigung mit opn nun hier meine erarbeiteten Ergebnisse. Meine Ziele waren folgende:
1) Das nur gruppierende Elemente wie topics etc. nur angezeigt werden, wenn auch ein Inhalt in dieser oder in den Untergeordneten topics zu finden ist. Das gleiche auch für die Seitenboxen. Allerdings kann ich mir auch Fälle vorstellen, bei denen die Anzeige von leeren topics erwünscht ist. Ich habe es so programmiert, dass in der entsprechenden Funktionen (z.B. in article_func.php) ein Einstellungs-Parameter eingebaut werden könnte, mit dem für jedes topic ausgewählt werden könnte, ob dieses auch ohne Inhalt angezeigt werden soll.
2) Inhaltszähler auch bei Untergruppen. Die Angabe (z.B. TopicName(5)) bedeutet dann, dass sich 5 Elemente bestehend aus Untergruppen und/oder Artikeln darin befinden (wie bei Downloads).
3) Angleich des Erscheinungsbildes von Tutorial an Article
4) Bugfixes aus Article in Tutorial übernomen
5) User_Favoriten auch für Tutorial
6) Kleiner Fehler bei Modul Haftung entdeckt
7) Code etwas umgestellt und Unmengen von $result->Close() eingefügt
8) Einstellungsparameter von Tutorial an Article angepasst

So. Nun das Beste:
Ich habe Tage mit verbracht, die Themengruppenumschaltung so hinzubekommen, dass sie immer funktioniert. Als erstes hatte ich bei jedem generieretn Link die Themengruppe hinzugefügt. darum auch die vielen Änderungsstellen, da mir dabei meist auch andere Dinge aufgefallen sind. Als ich damit fertig war, habe ich das Problem erst richtig verstanden.

Hier nach meiner Meinung die Beschreibung des Problems:
1) Inhalte sollen nur angezeigt werden, wenn eine bestimmte Themengruppe angewählt ist. Dies ist bereits an den meisten stellen im Code vorhanden. Habe aber hierzu noch eine etwas erweiterte Funktion geschrieben: /class/engine/fc_engine.php -> get_theme_group_sql($themegroup = 0, $fieldname='').
2) Wenn ein Link generiert wurde, in dem keine Themengruppe angegeben ist (?webthemegroupchoose=xx), und mann diesen anwählt, bekommt man den Inhalt nur zu sehen, wenn sich opn in der Richtigen Themengruppe befindet. Das heißt, dass in die PHP-Dateien eine automatische Themengruppenumschaltung eingebaut werden muss, bei denen Inhalte angezeigt werden. Bei der Anzeige von gruppierenden Seiten (z.B. article/topics.php) muss die aktuelle opn Themengruppe verwendet werden.

Dazu habe ich eine Funktionen in die Module article und tutorial eingebaut, die prüfen, ob sich opn in der richtigen themengruppe befindet. ist dies der Fall, passiert nichts, andernfalls wird die Themengruppe umgeschaltet. Die Funktion befindet sich z.B. in /system/article/article_func.php -> _redirect_article_theme_group(). Diese wird am Anfang der /system/article/index.php aufgerufen.

Ich werde diesn Redirect auch noch in die von mir benutzten Module einbauen.

Ich hoffe du kannst damit was anfangen.

Gruß
Gregor
Schritte zur ReproduzierungDu kannst das Ergebnis auf www.baiker.eu (Arbeitsstand) anschauen und testen.

Zusätzliche InformationAls Grundlage für den Code habe ich die neue Branch ==>2.4.14 [Aphrodite] (Revision 2291)<== genommen. Im Code habe ich versucht inhaltliche Änderungen mit //GREGOR zu markieren. Denn alten Code habe ich meistens auskommentiert. Allerdings habe ich auch an einigen Stellen den Code etwas vereinfacht, was das review warscheinlich etwas verkompliziert.

Ich versuch nun noch die Sourcen hier anzuhängen, ich hoffe ich finde den richtigen Knopf.