Kategorie in Foren- und Themenansicht mit anzeigen

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Kategorie in Foren- und Themenansicht mit anzeigen

Beitrag von oxpus »

In einem Vanilla phpBB ohne weitere MODs wie z. B. den Categories Hierarchy MOD werden in der Foren- und Themenansicht keine Kategorietitel mit in der Navigation angezeigt.
Das nachfolgende Snippet behebt dieses:

Code: Alles auswählen

#
#-----[ OPEN ]-----
#
viewtopic.php

#
#-----[ FIND ]-----
#
$sql = "SELECT t.topic_id, t.topic_title, t.topic_status, t.topic_replies, t.topic_time, t.topic_type, t.topic_vote, t.topic_last_post_id, f.forum_name, f.forum_status, f.forum_id, f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments" . $count_sql . "
	FROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f" . $join_sql_table . "
	WHERE $join_sql
		AND f.forum_id = t.forum_id
		$order_sql";

#
#-----[ IN-LINE FIND ]-----
#
t.topic_id

#
#-----[ IN-LINE BEFORE, ADD ]-----
#
 c.cat_id, c.cat_title,

#
#-----[ IN-LINE FIND ]-----
#
$join_sql_table . "

#
#-----[ IN-LINE, AFTER, ADD ]-----
#
, " . CATEGORIES_TABLE . " c

#
#-----[ IN-LINE FIND ]-----
#
	WHERE $join_sql

#
#-----[ IN-LINE AFTER, ADD ]-----
#
		AND f.cat_id = c.cat_id

#
#-----[ FIND ]-----
#
$forum_name = $forum_topic_data['forum_name'];

#
#-----[ BEFORE, ADD ]-----
#
$cat_title = $forum_topic_data['cat_title'];
$cat_id = $forum_topic_data['cat_id'];

#
#-----[ FIND ]-----
#
	'PAGE_NUMBER' => sprintf($lang['Page_of'], ( floor( $start / intval($board_config['posts_per_page']) ) + 1 ), ceil( $total_replies / intval($board_config['posts_per_page']) )),

#
#-----[ AFTER, ADD ]-----
#
	'CAT_TITLE' => $cat_title,

#
#-----[ FIND ]-----
#
	'U_VIEW_FORUM' => $view_forum_url,

#
#-----[ AFTER, ADD ]-----
#
	'U_VIEW_CAT' => append_sid("index.$phpEx?" . POST_CAT_URL . "=$cat_id"),

#
#-----[ OPEN ]-----
#
templates/suBSilver/viewtopic_body.tpl

#
#-----[ FIND ]-----
#
	  -> <a href="{U_VIEW_FORUM}" class="nav">{FORUM_NAME}</a></span></td>

#
#-----[ IN-LINE FIND ]-----
#
->

#
#-----[ IN-LINE AFTER, ADD ]-----
#
 <a href="{U_VIEW_CAT}" class="nav">{CAT_TITLE}</a> ->

#
#-----[ FIND ]-----
#
	  -> <a href="{U_VIEW_FORUM}" class="nav">{FORUM_NAME}</a></span></td>

#
#-----[ IN-LINE FIND ]-----
#
->

#
#-----[ IN-LINE AFTER, ADD ]-----
#
 <a href="{U_VIEW_CAT}" class="nav">{CAT_TITLE}</a> ->

#
#------[ OPEN ]-----
#
viewforum.php

#
#-----[ FIND ]-----
#
	$sql = "SELECT *
		FROM " . FORUMS_TABLE . "
		WHERE forum_id = $forum_id";

#
#-----[ REPLACE WITH ]-----
#
	$sql = "SELECT f.*, c.cat_id, c.cat_title
		FROM " . FORUMS_TABLE . " f, " . CATEGORIES_TABLE . " c
		WHERE f.forum_id = $forum_id
			AND f.cat_id = c.cat_id";

#
#-----[ FIND ]-----
#
	'POST_IMG' => ( $forum_row['forum_status'] == FORUM_LOCKED ) ? $images['post_locked'] : $images['post_new'],

#
#-----[ AFTER, ADD ]-----
#
	'CAT_TITLE' => $forum_row['cat_title'],

#
#-----[ FIND ]-----
#
	'U_VIEW_FORUM' => append_sid("viewforum.$phpEx?" . POST_FORUM_URL ."=$forum_id"),

#
#-----[ AFTER, ADD ]-----
#
	'U_VIEW_CAT' => append_sid("index.$phpEx?" . POST_CAT_URL ."=".$forum_row['cat_id']),

#
#-----[ OPEN ]-----
#
templates/subSilver/viewforum_body.tpl

#
#-----[ FIND ]-----
#
	  <td align="left" valign="middle" class="nav" width="100%"><span class="nav">   <a href="{U_INDEX}" class="nav">{L_INDEX}</a> -> <a class="nav" href="{U_VIEW_FORUM}">{FORUM_NAME}</a></span></td>

#
#-----[ IN-LINE FIND ]-----
#
->

#
#-----[ IN-LINE AFTER, ADD ]-----
#
 <a href="{U_VIEW_CAT}" class="nav">{CAT_TITLE}</a> ->

#
#-----[ FIND ]-----
#
	  <td align="left" valign="middle" class="nav" width="100%"><span class="nav">   <a href="{U_INDEX}" class="nav">{L_INDEX}</a> -> <a class="nav" href="{U_VIEW_FORUM}">{FORUM_NAME}</a></span></td>

#
#-----[ IN-LINE FIND ]-----
#
->

#
#-----[ IN-LINE AFTER, ADD ]-----
#
 <a href="{U_VIEW_CAT}" class="nav">{CAT_TITLE}</a> ->


#
#-----[ SAVE/CLOSE ALL FILES ]-----
#
# EoM
Zuletzt geändert von oxpus am Mi 08.Aug, 2007 13:46, insgesamt 1-mal geändert.
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!
Angi0570
Beiträge: 34
Registriert: Di 04.Jul, 2006 11:20

Beitrag von Angi0570 »

Snippet eben im Orion eingebaut, funktioniert 1a - danke dafür!
Allerdings ist mir beim Einbau aufgefallen, dass du bei deiner Anleitung bei der zu suchenden Stelle schon gleich deine fertige Stelle drin hast (nicht die Originale).
Der eine oder andere könnte damit dann Probleme haben ;)

Im Original müsste das wohl dann so aussehen:

Code: Alles auswählen

$sql = "SELECT t.topic_id, t.topic_title, t.topic_status, t.topic_replies, t.topic_time, t.topic_type, t.topic_vote, t.topic_last_post_id, f.forum_name, f.forum_status, f.forum_id, f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments" . $count_sql . "
	FROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f" . $join_sql_table . "
	WHERE $join_sql
		AND f.forum_id = t.forum_id
		$order_sql";
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Oh, ja klar, schon behoben.
Danke für den Hinweis.
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!
drkmnn666
Beiträge: 388
Registriert: Mi 23.Jan, 2008 17:29

Beitrag von drkmnn666 »

Code: Alles auswählen

# #
# #-----[ IN-LINE, AFTER, ADD ]-----
# #
# , " . CATEGORIES_TABLE . " c
das c ist richtig oder?

Code: Alles auswählen

#
#-----[ IN-LINE FIND ]-----
#
t.topic_id

#
#-----[ IN-LINE BEFORE, ADD ]-----
#
 c.cat_id, c.cat_title,
hier fehlt doch ein komma oder?
Zuletzt geändert von drkmnn666 am Fr 21.Mär, 2008 01:23, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wenn Du Dir die Anleitung mal sehr genau anschaust und das 1:1 in Deine Scripte einbaust, wirst Du sehen, daß das genau so richtig ist ;)
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!
drkmnn666
Beiträge: 388
Registriert: Mi 23.Jan, 2008 17:29

Beitrag von drkmnn666 »

wenn ich da kein komma setze, dann erhalte ich eine fehlermeldung

Code: Alles auswählen

Could not obtain topic information

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.cat_id, c.cat_title, t.topic_title, t.topic_status, t.topic_replies, t.topic_ti' at line 1

SELECT t.topic_id c.cat_id, c.cat_title, t.topic_title, t.topic_status, t.topic_replies, t.topic_time, t.topic_type, t.topic_vote, t.topic_first_post_id, t.topic_last_post_id, f.forum_name, f.forum_status, f.forum_id, f.forum_qpes, f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments FROM phpbb_topics t, phpbb_forums f, phpbb_categories c WHERE t.topic_id = 222 AND f.cat_id = c.cat_id AND f.forum_id = t.forum_id

Line : 173
File : viewtopic.php
Zuletzt geändert von drkmnn666 am Fr 21.Mär, 2008 13:31, insgesamt 2-mal geändert.
Benutzeravatar
BigRib
Beiträge: 109
Registriert: Mi 30.Jun, 2004 11:11
Kontaktdaten:

Beitrag von BigRib »

Er will dir damit sagen das BEFORE nicht dahinter, sonder davor heist, sonst würde da AFTER stehen.
Gru? BigRib
UPI2DB Support Forum
Kein Support per ICQ, Email oder PN.
No support per ICQ, Email or PM.
drkmnn666
Beiträge: 388
Registriert: Mi 23.Jan, 2008 17:29

Beitrag von drkmnn666 »

alles klar bigrip, da hab ich geschlafen, aber ganz schön... hab ich die ganze zeit überlesen.... sorry
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

.. das meinte ich mit "die Anleitung ganz genau" durchlesen ;) ...
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
BigRib
Beiträge: 109
Registriert: Mi 30.Jun, 2004 11:11
Kontaktdaten:

Beitrag von BigRib »

Ja richtig lesen ist beim Modden von vorteil :D dann passiert es auch nicht das man z.B. Namen falsch schreibt :D BigRib hat nichts mit RIP zu tun *lach
Gru? BigRib
UPI2DB Support Forum
Kein Support per ICQ, Email oder PN.
No support per ICQ, Email or PM.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

BigRib hat nichts mit RIP zu tun
Wäre ja auch schade drum :eek:
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
Marcus
Beiträge: 2
Registriert: Di 04.Mär, 2008 20:00
Kontaktdaten:

Kategorie-Snippet

Beitrag von Marcus »

Ein feines Snippet - danke! Ist eine der Kleinigkeiten die mir im Forum schon immer gefehlt haben :)
Falls es hier noch mehr Orion-Nutzer gibt, die im Stylen nicht ganz so geschickt sind wie Angie (Zweiteres könnten ein paar sein :D ), dem sei noch gesagt dass die Fundstellen der tpl-Dateien ein wenig abweichen.
Bei mir sieht die erste Stelle in der "viewforum_body.tpl" nun (nach der Änderung) z.B. so aus:

Code: Alles auswählen

<td class="nav" width="100%">&nbsp;<a href="{U_INDEX}">{L_INDEX}</a> &raquo; <a href="{U_VIEW_CAT}" class="nav">{CAT_TITLE}</a> <!-- IF PARENT_FORUM --> &raquo; <a class="nav" href="{U_VIEW_PARENT_FORUM}">{PARENT_FORUM_NAME}</a><!-- ENDIF --> &raquo; <a href="{U_VIEW_FORUM}">{FORUM_NAME}</a></td>
Gruß und Dank!
Marcus
Zuletzt geändert von Marcus am Di 25.Mär, 2008 01:57, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Nun ja, die Styles im Orion sind abweichend, weil hier z. B. der Subforen MOD installiert ist, der diese Stelle bereits verändert hat.

Danke aber für den Code, so können auch Orion-Nutzer dieses einbauen...
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