Seite 1 von 1

PHP im Template verwenden

Verfasst: 20.08.2007 14:46
von pReya
Hallo zusammen,

wil mir in einen phphBB 2.x Header einen Banner Rotator einbauen. Habe dazu ein einfaches Script gefunden, dass sogar Ich, als PHP-Amateur verstehe. Der Code sieht so aus:

$banner_id = rand (1 , 5);
If ($banner == 1) echo’<a href=” Link ”> <img src=”banner1.jpg”></a>’;
...

Das Ganze eben noch vier mal.

So, also habe ich das Ganze in meinen Header reingesetzt. Da habe ich dann erfahren müssen, dass im Template kein PHP interpretiert wird, sondern nur in der page_header.php.

Jetzt stellt sich mir die Frage, wie ich im Template auf den Banner verweise, wenn der Code in der page_header.php steht. Da reichen einfach meine PHP-Kenntnise nicht.

Vielen Dank schonmal für euer Antworten!

Verfasst: 20.08.2007 15:19
von kolja
hier:
http://www.phpbb.de/doku/kb/artikel.php ... ate_syntax
sollten vile interessante dinge stehen :-)

Verfasst: 20.08.2007 16:09
von homoerectus
Hallo,
ich habe mir irgendwann mal einen Bannerrotator zusammengeschrieben und nehme jetzt einfach mal ganz frech mein Script:

Code: Alles auswählen

<?php
//Bannergenerator
$banner_links = array("link.banner1.com", "link.banner2.com", "link.banner3.com", "link.banner4.com", "link.banner5.com");
$banner_graph = array("banner1.gif", "banner2.gif", "banner3.gif", "banner4.gif", "banner5.gif");
$banner_id = mt_rand(0,4);
echo "<a href=\"$banner_links[$banner_id]\"><img src=\"$banner_graph[$banner_id]\" alt=\"$banner_links[$banner_id]\" /></a>";
?>
Damit du das in das phpBB-Template-System einbauen kannst, musst du Folgendes machen:
  1. Schreibe an einer beliebigen Stelle in der overall_header.tpl:

    Code: Alles auswählen

    <a href="{BANNER_LINK}"><img src="{BANNER_GRAPH}" alt="{BANNER_LINK}" /></a>
  2. Finde in der page_header.php

    Code: Alles auswählen

    //
    // The following assigns all _common_ variables that may be used at any point
    // in a template.
    //
  3. Füge DAVOR ein:

    Code: Alles auswählen

    // BEGIN Bannerrotator
    $banner_links = array("link.banner1.com", "link.banner2.com", "link.banner3.com", "link.banner4.com", "link.banner5.com");
    $banner_graph = array("banner1.gif", "banner2.gif", "banner3.gif", "banner4.gif", "banner5.gif");
    $banner_id = mt_rand(0,4);
    // END Bannerrotator
  4. Finde

    Code: Alles auswählen

    //$template->assign_vars(array(
  5. Füge DANACH ein:

    Code: Alles auswählen

    // BEGIN Bannerrotator
    'BANNER_LINK' => $banner_links[$banner_id],
    'BANNER_GRAPH' => $banner_graph[$banner_id],
    // END Bannerrotator
Das sollte so funktionieren, mach aber unbedingt ein Backup - sowas kann nie schaden!

Schöne Grüße