MyBB.de Forum
Zufälliges Hintergrund bild - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Theme-Diskussionen (https://www.mybb.de/forum/forum-84.html)
+--- Thema: Zufälliges Hintergrund bild (/thread-15984.html)



Zufälliges Hintergrund bild - Rubin - 31.03.2010

Hallo,

Ich habe da eine Frage:
Ich möchte ein Zufälliges Hintergrund Bild einrichten, jedes mal wenn man die seite aktualisiert erscheint ein anderes Bild.
Kann ich den in im Admin-CP bei der Global.css bei body eine PHP datei verrbinden?, das er per Body auf die PHP datei zugreift die ich dann zusätzlich in den Mybb Ordner lade.
Die PHP Datei enthält dann dieser Code:

PHP-Code:
<style type="text/css">
<?
php
// Array init
$bgimg_array=array(
array (
"pfand/Bild1.jpg""#000000"),
array (
"pfand/Bild2.jpg""#030166"),
array (
"pfand/Bild3.jpg""#99CBFE"),
);

//shuffle array
shuffle($bgimg_array);
?>
html {
background-image:url('<?php echo $bgimg_array[0][0?>');
background-color:<?php echo $bgimg_array[0][1?>;
background-repeat: no-repeat;
}
</style> 

Ist das Möglich?
Wenn ja was muss ich bei Body angeben?
Vielleicht: background-image: url(images/style.php);
funktioniert das so?
Oder muss man das anders machen?
Will erst mal fragen bevor ich es versuche :/


RE: Zufälliges Hintergrund bild - querschlaeger - 01.04.2010

Hallo,

PHP ist im CSS icht zugelassen.

(31.03.2010, 23:16)Rubin schrieb:
Code:
background-image:url('<?php echo $bgimg_array[0][0] ?>');

Das geht nicht.

(31.03.2010, 23:16)Rubin schrieb:
Code:
background-image: url(images/style.php);

Das geht (sofern die PHP-Datei ein gültiges Bild zurückliefert, inkl. korrekten Header). Bei der Hintergrundfarbe musst du etwas tricksen: Du könntest 2 übereinanderliegene Ebenen (z.B. per <div>) benutzen, wobei die untere als Hintergrundbild einen flächenfüllenden einfarbigen Pixel hat (den kannst du wieder mit PHP per "Zufall" erstellen) und die darüberliegende bekommt dann das mit PHP generierte normale Bild. Beide Ebenenbilder kannst du natürlich in einer Datei erstellen lassen:

Code:
html
{
    background-image: url(images/style.php?image=html);
    background-repeat: repeat;
}

body
{
    background-image: url(images/style.php?image=body);
    background-repeat: no-repeat;
}

style.php?image=html erstellt hier das einpixelige Hintergrundbild, welches wir als Hintergrundfarbe missbrauchen und style.php?image=body erstellt das reguläre Hintergrundbild.

(31.03.2010, 23:16)Rubin schrieb: Will erst mal fragen bevor ich es versuche :/

Hm, ich probiere erst und frage dann (oder auch nicht). Wink


RE: Zufälliges Hintergrund bild - Rubin - 01.04.2010

Also Hintergrund farbe ist egal, ich nehme sowiso nur Transparente Bilder.
Aber ich hab das hier grad nicht so verstanden :/
So wie ichs jedenfalls jetzt gemacht habe, hats nicht geklappt....


RE: Zufälliges Hintergrund bild - Manaphy @ MyBB - 01.04.2010

(01.04.2010, 18:20)Rubin schrieb: Also Hintergrund farbe ist egal, ich nehme sowiso nur Transparente Bilder.
Aber ich hab das hier grad nicht so verstanden :/
So wie ichs jedenfalls jetzt gemacht habe, hats nicht geklappt....

Würde mich auch interessieren ob das klappt, hört sich jedenfalls interessant an.
Ich habe es auch kaum verstanden, nur, das PHP eben im CSS nicht erlaubt ist,
also dein PHP-Code eben nicht funktionieren wird.

Sein geposteter Code war jetzt nur so eine Art "Umgehung" für nichttransparente
Bilder denke ich, aber du sagtest ja, das du transparente Bilder nutzt.

Ich hoffe, ich habe das richtig verstanden Shy
Wenn nicht, Aufklärung bitte Big Grin


RE: Zufälliges Hintergrund bild - frostschutz - 01.04.2010

PHP-als-Bilddatei eine Notlösung, die hier nicht notwendig ist, da MyBB selbst ja auch schon in PHP geschrieben ist. Also anstatt eine Bilddatei einzubinden, hinter der tatsächlich ein PHP-Script sitzt, das zufällig auf ein Bild verweist, könntest du direkt im MyBB ein zufälliges Hintergrundbild auswählen und einbinden.

Dazu müsstest du es halt aus der CSS-Datei rausnehmen und das CSS dafür dann halt ausnahmsweise direkt im HTML spezifizieren, bzw. ein ganz altmodisches <body background=""> nehmen. Sollte mit einem Mini-Plugin hinzubekommen sein.