MyBB.de Forum

Normale Version: Zeitgesteuerte Anzeige von Werbung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Halli Hallo

ich habe mal eine Frage und zwar möchte in meinem MyBB nur zwischen 24 und 6 Uhr Werbung für nicht Registrierte Mitglieder Anzeigen.

Meine Idee war es jetzt in der Template Datei einfach einen Code Ähnlich
PHP-Code:
if(date("H",time())>="0" AND date("H",time())<="6") AND empty($useridvariabele)){
echo
"Werbecode";


Nun ist es ja leider nicht möglich in den Templates PHP auszuführen. Gibt es eine andere Möglichkeit?
Leg den Code in ein Plugin...?

Ist ja nichts dabei, schnapp dir die hello.php,

anstatt echo machst du global $irgendwas; $irgendwas="werbecode";

im global_start Hook oder so...

Dann kannst du im Template da wo du es haben willst {$irgendwas} einfügen.
(13.08.2010, 14:14)frostschutz schrieb: [ -> ]Leg den Code in ein Plugin...?

Ist ja nichts dabei, schnapp dir die hello.php,

anstatt echo machst du global $irgendwas; $irgendwas="werbecode";

im global_start Hook oder so...

Dann kannst du im Template da wo du es haben willst {$irgendwas} einfügen.

Die Idee ist garnicht mal so schlecht, wenn ich dich Richtig verstanden habe wäre folgender Code ja richtig oder? Weil, warum auch immer, geht es Leider nicht.

PHP-Code:
if(!defined("IN_MYBB"))
{
    die(
"Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}
$plugins->add_hook("global_end""adfooter");
function 
adfooter_info()
{
    return array(
        
"name"            => "adFooter",
        
"description"    => "Zeigt die adFOOTER Werbung an'",
        
"website"        => "http://www.DM-Scripts.de",
        
"author"        => "DM-Scripts.de",
        
"authorsite"    => "http://www.DM-Scripts.de",
        
"version"        => "1.0",
        
"guid"             => "",
        
"compatibility" => "1600"
    
);
}

function 
adfooter($adfooter){
global 
$adfooter;

$adfooter="Werbecode";
    return 
$adfooter;

Code:
function adfooter(){
global $adfooter;
$adfooter="Werbecode";
}
Reicht aus.
versuchs mit global_start statt global_end, je nachdem in welches Template es soll (der Plugin-Code muss ausgeführt sein bevor das Template evaluiert wird, also im Fall der Header Templates, möglichst früh)

und den funktionsparameter weg wie querschlaeger schon schrieb ...
Supi das global_start war der fehler.

PHP-Code:
if(!defined("IN_MYBB"))
{
    die(
"Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}
$plugins->add_hook("global_start""adfooter");
function 
adfooter_info()
{
    return array(
        
"name"            => "adFooter",
        
"description"    => "Zeigt die adFOOTER Werbung nur zwischen 0 und 6 Uhr an'",
        
"website"        => "http://www.DM-Scripts.de",
        
"author"        => "DM-Scripts.de",
        
"authorsite"    => "http://www.DM-Scripts.de",
        
"version"        => "1.0",
        
"guid"             => "",
        
"compatibility" => "1600"
    
);
}

function 
adfooter(){
global 
$adfooter$mybb;
if(
date("H",time())>="00" AND date("H",time())<="6" AND empty($mybb->user['uid'])){
$adfooter="Werbecode";

else{
$adfooter="";
}



So Funktioniert es glaube ich. Mal heute Nacht testen.
Vielen Dank erstmal euch zwein