Seite 1 von 1
Forumsliste bzw. forumrow auf allen Seiten möglich?
Verfasst: 23.03.2010 12:55
von modernist
Hallo!
Ich möchte gern auf jeder Seite in einer Sidebar eine Liste aller vorhandenen Foren einblenden. Für die Sidebar auf der index.php ist das mit
Code: Alles auswählen
<!-- BEGIN forumrow --><!-- IF not forumrow.S_IS_CAT --><li class="row bg1"><a href="{forumrow.U_VIEWFORUM}">{forumrow.FORUM_NAME}</a></li><!-- ENDIF --><!-- END forumrow -->
recht einfach bewerkstelligt (auch wenn es etwas überflüssig ist, dort zweimal die gleiche Auflistung zu haben). Das funktioniert aber leider nicht, wenn man die index.php verlässt und z.B. über viewforum.php ein Forum aufruft.
Meine Idee war, es mal mit den Befehlen der Jumpbox zu versuchen. So etwas wie
Code: Alles auswählen
<!-- BEGIN jumpbox_forums -->
<li class="row bg1"><a href="{jumpbox_forums.FORUM_NAME}">{jumpbox_forums.FORUM_NAME}</a></li>
<!-- END jumpbox_forums -->
zeigt mir zwar eine entsprechende Liste an, allerdings gibt es da das Problem, daß die Links eben nicht die Forums-ID beinhalten, sondern nur den Namen des Forums tragen. So funktioniert es also nicht.
Was muß ich da einbauen, damit eine Forumsliste wirklich auf jeder Seite auftaucht, die Links nutzbar sind und auch Nutzerberechtigungen bei der Auflistung berücksichtgt werden? Oder wie kann man die forumrow-Sache für alle Seiten erlauben?
Re: Forumsliste bzw. forumrow auf allen Seiten möglich?
Verfasst: 23.03.2010 15:28
von wolfman24
Dann benutze doch jumpbox_forums.FORUM_ID, welches die Foren ID ist, wie der Name ja auch schon sagt. Den Link mußt du dir dann noch selber zusammenbauen.
Re: Forumsliste bzw. forumrow auf allen Seiten möglich?
Verfasst: 23.03.2010 16:29
von modernist
Die Idee ist nicht schlecht. Mit
Code: Alles auswählen
<!-- BEGIN jumpbox_forums -->
<li class="row bg1"><a href="viewforum.php?f={jumpbox_forums.FORUM_ID}">{jumpbox_forums.FORUM_NAME}</a></li>
<!-- END jumpbox_forums -->
bekomme ich auch eine korrekte Liste angezeigt, dabei ist das Problem allerdings, daß keine Session-ID übergeben wird und man dann ggf. automatisch ausgeloggt wird.
Wenn ich in der functions_content.php eine append_sid ergänze, dann stimmt die Syntax nicht mehr.
Code: Alles auswählen
$template->assign_block_vars('jumpbox_forums', array(
'FORUM_ID' => append_sid($row['forum_id']),
Herauskommt dann Murks wie .../viewforum.php?f=8
?sid=XXX
Es sollte natürlich .../viewforum.php?f=8
&sid=XXX herauskommen.
Vielleicht weiß da jemand eine Lösung? Oder einen Alternativvorschlag ohne auf die Jumpbox-Funktionen.
Re: Forumsliste bzw. forumrow auf allen Seiten möglich?
Verfasst: 23.03.2010 17:02
von wolfman24
Die Idee mit dem append_sid und der FORUM_ID ist natürlich schlecht, da dann evtl. die JumpBox nicht mehr funktioniert. Du kannst evetuell dort, wo die Variablen für die JumpBox erzeugt werden (also FORUM_NAME und FORUM_ID) eine weitere Variable anlegen (z.B. U_FORUM_LINK) und in diese direkt den kompletten Link schreiben.
Re: Forumsliste bzw. forumrow auf allen Seiten möglich?
Verfasst: 23.03.2010 17:24
von modernist
Da ich die Jumpbox derzeit eh deaktiviert habe -und sollte ich das so mit den Jumpbox-Funktionen umsetzen- würde ich den Include-Befehl eh aus den Templates entfernen, das wäre also egal, ob die Jumpbox dann noch funktioniert oder nicht.
Ich habe jetzt aber mal etwas konstruiert, bei dem ich die Forumlinks ins Sidebar-Template direkt eingefügt habe, das dürfte dann auch die Datenbankabfragen reduzieren.
Das sieht dann so aus:
Code: Alles auswählen
<li class="row bg1"><a href="{U_F3}">Forum F1</a></li>
<li class="row bg1"><a href="{U_F6}">Forum F2</a></li>
etc.
in den Funktionen der Sidebar.php habe ich dann noch
Code: Alles auswählen
'U_F1' => append_sid("{$phpbb_root_path}viewforum.$phpEx", array('f' => 1)),
usw. eingefügt. Das klappt prima, für Foren, die nur bestimmte Nutzergruppen sehen sollen, habe ich einfach
dies hier umgesetzt, jetzt brauche ich noch eine Abfrage, damit diese Liste
nicht auf der index.php angezeigt wird. Weisst du zufällig eine passende If-Abfrage? Ich suche mir da gerade einen Wolf und finde nichts passendes.
Re: Forumsliste bzw. forumrow auf allen Seiten möglich?
Verfasst: 23.03.2010 17:43
von modernist
Ah, gefunden!
tut's, um die Liste auf Seiten anzuzeigen, die nicht die Forenübersicht sind.
Edit: Wobei das die Liste jetzt nicht mehr bei ucp.php, faq.php oder search.php angezeigt wird. Da muß ich noch etwas rumprobieren...grmpf
Re: Forumsliste bzw. forumrow auf allen Seiten möglich?
Verfasst: 23.03.2010 18:18
von modernist
Jetzt aber!
Die bessere Lösung ist es, in der index.php im Root folgendes zu ergänzen:
Finde
Code: Alles auswählen
'S_DISPLAY_BIRTHDAY_LIST' => ($config['load_birthdays']) ? true : false,
Danach einfügen:
Und dann in der Sidebar
abzufragen. So weit ich das jetzt ausprobiert habe, funktioniert es, wie es soll.
Nachtrag: Und jetzt habe ich's auch online gestellt siehe Link im Miniprofil; danke auch an Frank1604 für die
FW SideBar, die ich dann meinen Wünschen angepaßt habe.