Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.39 veröffentlicht (02.06.25)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Zeitgesteuerte Anzeige von Werbung
#1
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?
Zitieren
#2
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.
Zitieren
#3
(13.08.2010, 15: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;
}
Zitieren
#4
Code:
function adfooter(){
global $adfooter;
$adfooter="Werbecode";
}
Reicht aus.
Zitieren
#5
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 ...
Zitieren
#6
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
Zitieren