5.0 - Praxisbeispiel: Die letzten 10 Beiträge anzeigen

25.10.2010 14:28 (zuletzt bearbeitet: 03.04.2014 09:24)
avatar  Ingmar
#1 5.0 - Praxisbeispiel: Die letzten 10 Beiträge anzeigen
avatar
Technik


Praxisbeispiel

Zielsetzung:
Die letzten 10 Beiträge sollen unter dem Forum auf der "Forum Übersicht" und der "Foren Ansicht" angezeigt werden.

Lösung:


1. Erstellung einer eigenen Seite zur Anzeige der Beiträge
2. Einbinden der Seite in die Templates

1. Erstellung einer eigenen Seite zur Anzeige der Beiträge
Zunächst lege ich unter "Admin→Layout→Eigene Seiten eine neue eigene Seite an. Nach dem Eintragen von Name und URL deaktiviere ich den HTML-Editor über den Link "HTML Quelltext direkt bearbeiten" unten rechts. Nach einem Klick auf "Weitere Einstellungen ein-/ausblenden" können die Optionen "Template-Variablen aktivieren" und "Kopf-Fußzeile ausblenden" angewählt werden.

Hinweis: Die Optionen "Template-Variablen aktivieren" und "Kopf-Fußzeile ausblenden" stehen nur in Foren zur Verfügung, die mindestens den Basis-Tarif gebucht haben. Gleiches gilt für die Funktionen get_messages() und get_html(), die im Folgenden verwendet werden.

Damit ist die eigene Seite bereit, um mit Inhalten gefüllt zu werden:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 

<!--da nur registrierte Mitglieder die Liste sehen sollen, wird der Code in eine {{user_registered==true}}-Abfrage geschrieben -->
{{user_registered==true.start}}
<!--Gaia header: -->
<div class="c_r_cont2"><div class="c_r_top2"><div></div></div>
<div class="c_r_content2">
<div id="last_entries_div">
<div id="last_entries_head">Die letzten Beiträge des Forums:</div>
<!--Zuerst werden die letzten 10 Nachrichten vom Server abgerufen und in einer Variablen {{newmsg}} gespeichert (details siehe unten)-->
{{get_new_messages(newmsg,10)}}
 
<ul id="last_entries_list">
<!--Dann können die Beiträge mit der üblichen .startlist-Funktion durchlaufen werden -->
{{newmsg.startlist}}
<li>
<a href="{{newmsg:link}}">{{newmsg:title}}</a><span style="font-size:smaller"> in <a href="{{newmsg:forum_link}}" >{{newmsg:forum_title}}</a></span> •
von {{newmsg:user_link==true.start}}<a href="{{newmsg:user_link}}">{{newmsg:uname}}</a>{{newmsg:user_link==true.else}}{{newmsg:uname==true.end}}{{newmsg:uname}}{{newmsg:uname==true.else}}Gast{{newmsg:uname==true.end}}{{newmsg:user_link==true.end}} | {{newmsg:messagetime|dateformat(d.m.Y H:i)}}

</li>
{{newmsg.end}}
</ul>
</div>
 
<!--da die Kopfzeile nicht mitgeladen wird, hat diese Seite auch keinerlei Formatierungen. Um Sie dem design des Forums anzupassen wird daher zunächst die Foren-CSS eingebunden: -->
<style type="text/css" src="{{link_css}}" ></style>
<!-- zusätzlich können eigene style-Definition für die Seite festgelegt werden. -->
<style type="text/css">
#last_entries_div{border: 1px solid black;width:650px;}
#last_entries_head{font-weight:bold;}
#last_entries_list{list-style:none;list-style-image:none;}
#last_entries_list li{float:none}
</style>
<div style="clear:both"></div>
 
<!--Gaia footer: -->
</div><div class="c_r_bottom2"><div></div></div></div><div style="clear:both"></div><br>
{{user_registered==true.end}}
 

 



2. Einbinden der Seite in die Templates
Das Einbinden erfolgt nun über die get_html()-Funktion.
Hierfür fügen wir einfach den Elementen "Forum Übersicht" und "Forum Ansicht" als letzte Zeile folgenden Code hinzu:

1
 
{{get_htmlpage(page-lasttopics)}}
 



lasttopics ist dabei natürlich der vorher festgelegte Name meiner eigenen Seite

Das wars auch schon - eine Liste der letzten 10 Beiträge wird nun auf der Foren-Übersicht und der Foren-Ansicht eingeblendet:

Ergebnis



Viel Spaß beim ausprobieren

Ein Beispielforum in dem die Startseite mit Hilfe der hier verwendeten Funktionen angepasst wurde gibt es unter
http://customized.xobor.de/


Info: der newmsg-Array:

Dies ist eine vollständige Liste der im vom get_messages erzeugten Array verfügbaren Variablen:
diese Variablen können also innerhalb von {{newmsg.startlist}} und {{newmsg.end}} verwendet werden.

{{newmsg:avatar}}
{{newmsg:avatar_height}}
{{newmsg:avatar_width}}
{{newmsg:forum}}
{{newmsg:forum_link}}
{{newmsg:forum_title}}
{{newmsg:homepage}}
{{newmsg:id}}
{{newmsg:invisible}}
{{newmsg:link}}
{{newmsg:messagetime}}
{{newmsg:msgid}}
{{newmsg:online}}
{{newmsg:signature}}
{{newmsg:text}}
{{newmsg:title}}
{{newmsg:user_admin}}
{{newmsg:user_gender}}
{{newmsg:user_id}}
{{newmsg:user_link}}
{{newmsg:user_moderator}}
{{newmsg:user_ort}}
{{newmsg:user_pm_link}}
{{newmsg:user_posts}}
{{newmsg:user_registered}}
{{newmsg:userblog_active}}
{{newmsg:userblog_title}}
{{newmsg:usercolor}}
{{newmsg:userimage}}
{{newmsg:username}}
{{newmsg:userposts}}
{{newmsg:usertitle}}

Viele Grüße,
Ingmar


 Technik · Homepagemodules.de · Miranus GmbH

 Antworten

 Beitrag melden
Bereits Mitglied?
Jetzt anmelden!
Mitglied werden?
Jetzt registrieren!