Seite 1 von 2
Bannerrotation mit Scriptbannern
Verfasst: 23.03.2008 18:30
von Topper Harley
Ich würde gerne in meinen Header eine bannerrotation einbauen. Problem ist nur, dass es sich nicht um Standardbanner mit href und img handelt, sondern um gescriptete:
Banner 1
<script type="text/javascript" src="
http://xxx.com/js/xxx.js"></script>
<script type="text/javascript" src="
http://xxx.com/js?wp_id=xxxxx"></script>
<noscript><a href="
http://xxx.com/click?sid=xxxxx&ts=[timestamp]">
<img src="
http://xxx.com/banner?sid=xxxxx&ts=[timestamp]" border="0"></a></noscript>
Banner 2
<script type="text/javascript" src="
http://xxx.com/js/xxx.js"></script>
<script type="text/javascript" src="
http://xxx.com/js?wp_id=xxxxx"></script>
<noscript><a href="
http://xxx.com/click?sid=xxxxx&ts=[timestamp]">
<img src="
http://xxx.com/banner?sid=xxxxx&ts=[timestamp]" border="0"></a></noscript>
Wie bastel ich das richtig?

Verfasst: 23.03.2008 20:49
von gn#36
Na wie würdest du es denn machen wenn es Bilder wären? Da tauscht du doch auch nur Text aus, was ist also bei Skripten anders?
Verfasst: 23.03.2008 21:11
von Topper Harley
Ich kenne nur diese Möglichkeit:
Code: Alles auswählen
<SCRIPT LANGUAGE="JavaScript">
var nb=2;
var link = new Array();
var i;
i=Math.ceil(Math.random()*nb);
link[1]='<A HREF="..."><IMG SRC="..."> </A><br>';
link[2]='<A HREF="..."><IMG SRC="..." ></A><br>';
document.write(link[i]);
</script>
Funktioniert aber leider nicht

Verfasst: 23.03.2008 21:24
von gn#36
Wie wäre es wenn du das einfach in der PHP Seite festlegst? Das geht dann universell und so wie das Skript aussieht ändert es seine Darstellung eh nicht nach x Sekunden oder so. Dann hättest du gleich auch noch den Vorteil, dass du einen Banner darstellst, auch wenn JS abgeschaltet ist.
Code: Alles auswählen
$banners = array('htmlcode 1', 'htmlcode 2');
srand();
$banner = $banners[rand(1,2)];
echo $banner;
Viel einfacher geht's eigentlich kaum noch. Statt echo natürlich beim Einbau ins Forum dann eben $template->assign_vars(...); bei phpBB 2 in der page_header.php und dann die Ersetzung in die gewünschte Datei (vermutlich overall_header.tpl) und bei phpBB3 in die functions.php in der page_header Funktion und den Platzhalter eben dann in der overall_header.html (oder einer beliebigen anderen Datei wo das eben dargestellt werden soll).
Verfasst: 23.03.2008 21:35
von Topper Harley
Wie (und wo) genau mach ich das in der page_header.php?
Sorry, aber was PHP betrifft, ist mein Kenntnisstand unterirdisch
Zu viel Code entfernt! //gn#36
Verfasst: 23.03.2008 21:41
von gn#36
Ganze Dateien bitte verlinken, nicht in den Post kopieren.... KB:datei
Also phpBB2...
Da es nur darum geht dass das angezeigt wird, bau es direkt oben unter das define('HEADER_INC', true); ein, aber dann NICHT mit echo, sondern mit
Code: Alles auswählen
$template->assign_vars(array('BANNER_ROTATION' => $banner));
Im Template entsprechend dann {BANNER_ROTATION} da hin, wo du es hin haben willst.
Verfasst: 23.03.2008 21:52
von Topper Harley
gn#36 hat geschrieben:Ganze Dateien bitte verlinken, nicht in den Post kopieren....
Kommt nicht wieder vor
Also dann so in die pageheader einfügen?
Code: Alles auswählen
$banners = array('<script type="text/javascript" src="http://xxx.com/js/xxx.js"></script>
<script type="text/javascript" src="http://xxx.com/js?wp_id=xxxxx"></script>
<noscript><a href="http://xxx.com/click?sid=xxxxx&ts=[timestamp]">
<img src="http://xxx.com/banner?sid=xxxxx&ts=[timestamp]" border="0"></a></noscript>', '<script type="text/javascript" src="http://xxx.com/js/xxx.js"></script>
<script type="text/javascript" src="http://xxx.com/js?wp_id=xxxxx"></script>
<noscript><a href="http://xxx.com/click?sid=xxxxx&ts=[timestamp]">
<img src="http://xxx.com/banner?sid=xxxxx&ts=[timestamp]" border="0"></a></noscript>');
srand();
$banner = $banners[rand(1,2)];
$template->assign_vars(array('BANNER_ROTATION' => $banner));
Verfasst: 23.03.2008 22:22
von gn#36
Jupp.
Verfasst: 23.03.2008 23:33
von Topper Harley
Hat geklappt
Vielen Dank!!
Edit: Aber irgendwie hab ich den Eindruck, dass da kaum Rotation drin ist... in 95% der Fälle wird derselbe Banner gezeigt?
Verfasst: 24.03.2008 00:02
von gn#36
Ist auch ein kleiner Fehler drin...
Das Array beginnt bei 0 zu zählen...
also besser rand(0,1) oder evtl. funktioniert das mit ein paar mehr möglichen Werten besser:
anstelle von [php:rand]