1.4 - Foren spezifische Variablen Var1, Var2, Var3

21.06.2011 11:27 (zuletzt bearbeitet: 02.06.2016 09:54)
avatar  Ingmar
#1 1.4 - Foren spezifische Variablen Var1, Var2, Var3
avatar
Technik


Forenvariablen - Anwendungsbeispiel


Var1, Var2, Var3
In letzter Zeit erhielt ich einige Anfragen bezüglich der Foren-spezifischen Variablen - daher möchte ich diese anhand eines kleinen Beispiels kurz erläutern:

Auf dem folgenden Screenshot ist die Startseite des Supportforums zu sehen. Die dritte Reihe enthält anstatt einem weiterem Forum eine Tabelle mit Links zu unserer Homepage, Facebook und Twitter.


Twitter/Facebook im Supportforum



Umsetzung

Um möglichst wenig an der Struktur des Template-Elements "Forum Übersicht" ändern zu müssen, wurde die Tabelle per Foren-Variable realisiert. Dazu wird zunächst ein Forum angelegt und an die richtige Stelle geschoben (unterm dem Forum "Tutorials").
In den Foren-Einstellungen (Admin→Forum→Name des Forums) haben wir nun die Möglichkeit, Variablen (var1,var2,var3) zu definieren. Diese stehen dann später im Template zur Verfügung.

In diesem Fall speichern wir den gesamten Code für die Tabelle in die Variable Var1:

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
 
<table width="100%" style="border-collapse: collapse; margin-bottom: -7px; margin-top: 0px;">
<tr><td style="border-right: 1px solid #e6e6e6; padding: 0px 10px; padding-left:4px;"><table width="100%"><tr><td>
<a href="https://www.xobor.de/forum-erstellen.html"><img src="https://files.homepagemodules.de/b214495/a_4.jpg" style="width:38px; margin: 0px 12px;margin-right:17px"/></a>
</td><td valign="top">
<small>
<b>Noch kein eigenes Forum?</b><br/>
<a href="http://www.homepagemodules.de/Anmelden.html">Erstelle ein Xobor Forum</a><br />Der Neue Name der Forum Software von Homepagemodules </small>
</td></tr></table>
</td>
<td width="39%" style="padding: 0px 8px;"><table width="100%"><tr><td>
<a href="http://twitter.com/xobor" target="_blank"><img src="http://www.bilder-hochladen.net/files/d8s8-4m.png" style="margin: 0px 12px;margin-left:8px"/></a>
</td><td valign="top">
<small>
<b><span id="tweet_time"></span> bei Twitter</b> <a href="http://twitter.com/xobor" target="_blank"><small>Follow Us!</small></a><br/>
<span id="tweet_msg"></span></small>
</td></tr></table>
</td>
<td width="28%" style="border-left: 1px solid #e6e6e6; padding: 0px 10px;">
 
<iframe src="https://www.facebook.com/plugins/likebox.php?href=http%3A%2F%2Fwww.facebook.com%2Fxobor&width=200&colorscheme=light&show_faces=false&stream=false&header=false&height=62" scrolling="no" frameborder="0" style="margin: auto auto;border:none; overflow:hidden; width:230px; height:75px;" allowTransparency="true"></iframe>


</td>
</tr></table>
 
<script language="Javascript">
function xobortweetCall(twitters) {
var i = 0;
if(twitters[i]==null) {
document.getElementById('tweet_msg').innerHTML = 'Neuigkeiten';
document.getElementById('tweet_time').innerHTML = 'Verfolgen Sie kleinere und größere Neuigkeiten';
} else {
var username = twitters[i].user.screen_name;
var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
return '<a href="'+url+'" target="_blank">'+url+'</a>';
}).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
return reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
});
document.getElementById('tweet_msg').innerHTML = status;
document.getElementById('tweet_time').innerHTML = relative_time(twitters[i].created_at);
}
}
function relative_time(time_value) {
var values = time_value.split(" ");
time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
var parsed_date = Date.parse(time_value);
var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
delta = delta + (relative_to.getTimezoneOffset() * 60);
 
if (delta < 60) {
return 'A minute ago';
} else if(delta < 120) {
return 'A minute ago';
} else if(delta < (60*60)) {
return 'Vor ' + (parseInt(delta / 60)).toString() + ' Minuten';
} else if(delta < (60*60*2)) {
return 'Vor ' + (parseInt(delta / 3600)).toString() + ' Stunde';
} else if(delta < (24*60*60)) {
return 'Vor ' + (parseInt(delta / 3600)).toString() + ' Stunden';
} else if(delta < (48*60*60)) {
return 'Vor 1 Tag';
} else {
return 'Vor ' + (parseInt(delta / 86400)).toString() + ' Tagen';
}
}
</script>
<script type="text/javascript" src="https://www.hpm-support.de/xobor.twitter.php"></script>
 




Um die Tabelle auch anzuzeigen, müssen wir nun nur noch das Template-Element "Forum Übersicht" anpassen:

1
2
3
4
5
6
7
8
9
10
11
 
  {{category:forum==true.start}}
{{category:forum.startlist}}
{{forum:var1==true.start}}
<!--Hier wird die Tabelle angezeigt-->
{{hr_line}}
{{forum:var1}}
{{forum:var1==true.else}}
<!--Hier der normale Template Code-->
{{forum:var1==true.end}}
{{category:forum.end}}
{{category:forum==true.end}}
 



2. Beispiel: Fotos vor Foren in der Forum Übersicht
Sie können die Variabeln auch nutzen, um unterschiedliche Grafiken je Forum auf der Forum Übersicht anzuzeigen.
Belegen Sie dafür z.B. die Var1 mit dem Wert einer Bild-Adresse, welche Sie zuvor in der Adminstration oder unter www.bilder-hochladen.net hochgeladen haben.

Im Template-Element "Forum Übersicht" fügen Sie dann folgenden Code ein, um die Fotos anzuzeigen:

1
2
3
 
{{forum:var1==true.start}}
<img src="{{forum:var1}}" alt="">
{{forum:var1==true.end}}
 

(Sie müssen den Code an geeigneter Stelle zwischen {{forum.startlist}} und {{forum.end}} einbauen)

Viele Grüße,
Ingmar


 Technik · Homepagemodules.de · Miranus GmbH


 Antworten

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