Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste
logo als .php Datei
#1
Guten Morgen,

ich möchte in meinen Forum ein logo einbinden, dass je nach Tageszeit das Design des Logo's ändert.

Ich habe es veruscht mit einer .php Datei mit den Inhalt:

PHP-Code:
<?php
    
if($zeit 11)
    {
        echo 
"<img src=\"logo1.gif\">";
    }
    elseif(
$zeit >= 11 && $zeit <= 18)
    {
        echo 
"<img src=\"logo2.gif\">";
    }
    else
    {
        echo 
"<img src=\"logo3.gif\">";
    }
?>

funktioniert auch beim normalen Aufruf, nur wenn ich es einbinden will

PHP-Code:
<img src="header.php"

gehts nich..
bei einer test.php - Datei gehts aber, also liegts am Forum. :p

Vielen danke für eure hilfe (vorher)

MfG
#2
img src="header.php" tut so nicht - der erwartet da eine bilddatei und nicht etwa html-code der auf ne weitere bilddatei verweist.

mach ein plugin draus, und statt echo, nur ein global $deinlogo; $deinlogo = "logo3.gif", und im header template dann beim logo <img src="{$deinlogo}">.

als basis kannst du das "hello world" plugin nehmen, dort setzt du einfach deinen code rein und gut
#3
Hallo & danke für deine Antwort.
Das mit den Plugin kapiere ich leider nich, da ich nich der Plugin freak bin.

Hättest du kurz Zeit mir ein Plugin zu coden?

MfG
#4
Den Code hast du ja selber schon gepostet.

als inc/plugins/zeitlogo.php:

PHP-Code:
<?php
function zeitlogo_info()
{
    return array(
        
"name"          => "Zeitlogo",
        
"description"   => "Setzt abhängig von der Zeit eine zeitlogo Variable, die dann im Header Template als Logo eingebunden werden kann.",
        
"website"       => "http://www.yourdomain.tld/zeitlogo",
        
"author"        => "exx0",
        
"authorsite"    => "http://www.yourdomain.tld",
        
"version"       => "1.0",
        
"guid"          => "",
        
"compatibility" => "*"
    
);
}

global 
$zeitlogo;

/*
 * Den Code der $zeit setzt hast du nicht gepostet, musst du wissen.
 */

if($zeit 11)
{
    
$zeitlogo ="logo1.gif";
}
elseif(
$zeit >= 11 && $zeit <= 18)
{
    
$zeitlogo "logo2.gif";
}
else
{
    
$zeitlogo "logo3.gif";
}
?>

Und im header template machst dann statt <img src="{$theme['logo']}> dann einfach <img src="$zeitlogo">
#5
Danke erstmal.
Ich habe das Plugin in (inc/plugins) hochgeladen.
Aktivieren geht ja nich, und dann in das template header folgenden Code eingesetzet

PHP-Code:
<img src="{$zeitlogo}"

Wird aber nichts angezeigt, obwohl logo1, logo2, logo3 existieren.
Rufe ich aber die header.php normal auf (nicht die Plugin datei sondern die normale) erscheint normal das logo.
& wofür muss ich $zeit setzen klappt auch so :


MfG
#6
...wieso geht aktivieren nicht? Bei mir geht das...

Hast du die Datei nicht zeitlogo.php genannt, der Funktionsname zeitlogo_info() muss ja zum Dateinamen passen.

Welchen Sinn hat die Zeitabfrage wenn du $zeit nicht setzt?

Eventuell würde dem Logo ein Pfad auch noch ganz gut tun, sofern diese gifs nicht direkt im MyBB Hauptverzeichnis liegen.
#7
Geht, ich hatte es zeitplguin genannt.

Danke frostschutz! <3