Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


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