Kategorie/Foren/Topics browsen

PHP, Ajax, CSS, HTML, Javascript
Eben für die wirklich Harten, die alles selber machen.
Antworten
Benutzeravatar
karstenkurt
Beiträge: 597
Registriert: Do 31.Mär, 2005 20:20
Kontaktdaten:

Kategorie/Foren/Topics browsen

Beitrag von karstenkurt »

Hallo,

ich möchte gerne auf einer seperaten php-Seite einen Teil meines Forum anzeigen. Allerdings in genau den Kategorien wie ich sie angelegt habe.

Die Struktur geht teilweise über 4 Ebenen Kategorien und dann in Foren und Topics über.
Bespiel:
1.) Kat1
2. --> Kat1.1
3. --> Kat1.2
4.       --> Kat1.2.1
5.            --Forum1.2.1.1
usw.

Nun möchte ich ein Script erstellen, welches mir eine Übersicht über die Kategorien/Foren/Topics/Texte zur Verfügung stellt und zwar immer Ebenenweise. D.h. zeige alle Kategorien der Ebene x, wenn keine Kategorien vorhanden sind, nehme die Foren und und zum Schluss die Topics bzw. die Post-Texte.

Allerdings stell ich mich zu dusselig an. Hab da schon ein wenig rumgespielt, aber irgendwie funktioniert das nicht so richtig. Kennt jemand ein Tutorial, welches das Problem abdeckt oder hat jemand ein fertiges Skript?
Hab den CH-Mod 2.0.5 installiert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Der CH MOD müsste mit dem Blank Page MOD kombiniert werden...

NUR: Der Aufbau den Indexes wird nicht gerade einsteigerfreundlich erstellt. Selbst ich hätte hier so meine Probleme, genau Deine Anforderung umzusetzen und da zudem selbst mit einem Board ohne CH MOD, denn einen Index "extern" zu erstellen ist nicht ohne. Mit CH MOD beinahe eine vielleicht sogar unlösbare Aufgabe....
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
karstenkurt
Beiträge: 597
Registriert: Do 31.Mär, 2005 20:20
Kontaktdaten:

Beitrag von karstenkurt »

Hallo,

hatte mir das folgendermassen gedacht. Nehme Kategorie 1 (id z.b. 12) als EInstiegspunkt.
Ermittle Anzahl der Unterkategorien mittels

Code: Alles auswählen

$sql='select count(*) as anzahl from ' . CATEGORIES_TABLE. ' where cat_main=12';
Wenn die Anzahl grösser als 0, dann zeige diese Kategorien an. Ermitteln geht mitels

Code: Alles auswählen

$sql = "SELECT cat_id,cat_title,cat_main FROM " . CATEGORIES_TABLE . "
 WHERE `cat_main`=" . $id . " order by cat_title";
Wenn die Anzahl gleich Null, dann nehme die Daten aus der Forums-Tabelle

Code: Alles auswählen

$sql = "SELECT `forum_name`,`forum_id` FROM " . FORUMS_TABLE . "
            WHERE cat_id=" . $id . " order by forum_name";
Normalerweise sollte das rekursive Durchlaufen der Tabellen phpbb_categorie,phpbb_forums, phpbb_topics,phpbb_posts eigentlich nicht so das Problem sein, leider komme ich immer wieder an Stellen, wo es nicht so klappt.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Bei welchen Punkten klappt es denn nicht?
Ich meine, so einfach ist es aber auch nicht, wenn man sich alleine die Rekursion in der functions_categories_hierarchy.php anschaut.
Dort wird ebenfalls eine Menge berechnet...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
karstenkurt
Beiträge: 597
Registriert: Do 31.Mär, 2005 20:20
Kontaktdaten:

Beitrag von karstenkurt »

Das gösste Defizit hab ich beim Erstellen des richtigen elect-Statements um nur eine Prozedur für die Abfragen zu nehmen. Denn ich muss ja über Categories, forums, topics, posts und post_text abfragen und diese geschickt zu veknüpfen.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Es gibt nur diese 2 Möglichkeiten:
Alle Kategorien und Foren abfragen und in einer zweiten Abfrage alle Topics und Posts/Texte mit anschliessender Sortierung per Schleife.
Oder eben für jede Kategorie, dann jedes Forum, jedes Topic und jeder Posts inkl. Text eine Abfrage. Das wäre dann ein echtes Performance Monster...
Ich könnte mir zwar vorstellen, daß sowas wie der Index, nur eben einfacher dargestellt, mit einem vanilla phpBB noch ginge, aber auf einem Index des Categorie Hierarchy MOD...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
karstenkurt
Beiträge: 597
Registriert: Do 31.Mär, 2005 20:20
Kontaktdaten:

Beitrag von karstenkurt »

Welche Variable kontrolliert denn den "Index Pack-Level"? Hab bei phpbb.de den Tipp bekommen, die Index.php zu duplizieren und meinen Wünschen entsprechend anzupassen. Dazu noch neue tpls und dann sollte das eigentlich gehen. In gewissen Teile funktioniert das auch schon, muss halt nur dn Packlevel und die "Sub-level Links im Index" wegbekommen in der function build_index. Hab davon eine function build_index1 erstellt, welche ich anpassen kann.

D.h. es wären Anpassungen notwendig an:
- index.php (klonen und ändern)
- viewforum.php (klonen und ändern)
- viewtopic.php (klonen und ändern)
- index_body.tpl (klpnen und ändern)
- index_box.tpl (klpnen und ändern)
- viewforum_body.tpl (klpnen und ändern)
- viewtopic_body.tpl (klpnen und ändern)

Oder hab ich was vergessen?
Wie erzeuge ich einen Konfigurrationseintrag im ACP für "Configuration +"?
Zuletzt geändert von karstenkurt am Do 02.Mär, 2006 22:42, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Index Pack Level ist die Stufe, in wie weit Unterverzeichnisse angezeigt werden.
Das geht von einfachem Index (nur Hauptforen) bis hin zu den Unterforen und der Aufteilung in extra Boxen.
Für Deine Darstellung eher unwichtig.

Die Sub-Level-Links müssten hingegen berechnet werden (wie ja vorgesehen), aber anders dargestellt. Also hier wäre die index_box.tpl gefragt.

Und ein neuer Eintrag im ACP wäre entweder eine Kopie der admin_forums_extend.php (dann auch alle Links, die in dieser Datei stecken und auf die selbige verweisen auch anpassen) oder eine neue Funktion/Bedingung einbauen, die angesprungen wird (ist deutlich schwerer!).
In letzterem Fall wäre in dieser Datei die Zeile

Code: Alles auswählen

	$module['Forums']['Manage_extend'] = $file;
zu verdoppeln. Etwa so:

Code: Alles auswählen

	$module['Forums']['Manage_extend_2'] = $file.'?mode=forum_new';
wobei in der lang_admin.php dann 'Manage_extend_2' mit dem neuen Konfig-Namen für die ACP-Navi hinterlegt werden muss und durch den Parameter "mode=forum_new" eben der "neue" Teil in dieser Datei für die neue Verwaltung angesprungen werden könnte...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
karstenkurt
Beiträge: 597
Registriert: Do 31.Mär, 2005 20:20
Kontaktdaten:

Beitrag von karstenkurt »

[quote="oxpus - Fr 03.März, 2006 00:27";p="54874"]Für Deine Darstellung eher unwichtig.[/quote]
Nee, gerade nicht. Möchte ja nur die Kategorie-Namen. Deshalb will ich die Unterkategorien ja in der "neuen" Index ausblenden. Wenn ich das im acp ausschalte, gilt es für alle Templates und Ansichten. Möchte ja nur den "einfachem Index".

Und im ACP gehts mir in erster Linie um die admin_board_extend.php!
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wenn Du nur die Kategorienamen willst, dann frag doch auch nur diese ab und aus der Tabelle phpbb_forums alle Forentitel, bei denen die Categorie ID (main = f) in der Forums-Tabelle zu finden sind (wenn ich das jetzt richtig "herauslese").
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
karstenkurt
Beiträge: 597
Registriert: Do 31.Mär, 2005 20:20
Kontaktdaten:

Beitrag von karstenkurt »

Wäre auch ne Möglichkeit. Probiere erst noch ein wenig mit der index.php rum.
Vielleicht klappts ja.
Hab das schon soweit hinbekommen, nur es werden mir noch die Kategoriennamen in der Übersciht mit angezeigt, obwohl ich die in der index_box.tpl rausgenommen habe :eek:
Hab den kompletteb cathead rausgenommen und trotzdem werden die Namen angezeigt?

Code: Alles auswählen

<!-- BEGIN cathead -->
<tr> 
	<!-- BEGIN inc -->
	<td width="46" class="{catrow.cathead.inc.INC_CLASS}"><img src="{SPACER}" width="46" height="0" /></td>
	<!-- END inc -->
	<td class="{catrow.cathead.CLASS_CAT}" width="100%" colspan="{catrow.cathead.INC_SPAN}">
	<span class="cattitle">1<a href="{catrow.cathead.U_VIEWCAT}" class="cattitle" title="{catrow.cathead.CAT_DESC}">{catrow.cathead.CAT_TITLE}</a></span></td>
	<td class="{catrow.cathead.CLASS_ROWPIC}" colspan="2" align="right">&nbsp;</td>
</tr>
<!-- END cathead -->
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Öh, ich denke, die willst Du haben?
Oder verstehe ich Dich nun überhaupt nicht mehr?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
karstenkurt
Beiträge: 597
Registriert: Do 31.Mär, 2005 20:20
Kontaktdaten:

Beitrag von karstenkurt »

1. Schritt: Kategorie oberste Ebene
2. Schritt: Unterkategorien (aber nicht die oberste Kategorie)

Beispiel:
Oberste Kategorie: Auto
Unterkategorien: BMW, VW, AUDI, Mercedes (im Augenblick wird mir aber auch noch Auto) mit aufgelistet.
Bild
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Du musst eben alle Kategorien abfragen, deren Kategoriue nicht vorhanden ist, für die erste Ebene und dann alle Kategorien/Foren, deren Kategorie ebenfalls in den Tabellen categories und forums eingetragen sind.
Also Kategorien ohne Master und dann alle mit Master.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten