wechselndes Hintergrundbild - wo die Variable definieren?

  • Hallo zusammen,

    bei meinem Layout habe ich in einem DIV-Element ein Hintergrundbild. Jenes soll wechseln, da ich mehrere Bilder habe. Im Grunde würde das so ablaufen:

    Die Frage ist nur, in welche Datei ich den obigen php-Teil einbinden kann/muss? Und funktioniert der php-Teil in einer *.css Datei?

    Wie könnte ich das sonst gut umsetzten?

    Gruß Muckel

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Nein, in eine normale CSS-Datei kannst Du das nicht reinschreiben (und würdest Du auch nicht wollen, dann könnte die ja nicht gecacht werden). Ich würde da vorschlagen, die Style-Definition ganz normal ins Stylesheet zu schreiben, z.B. mit dem Default-Hintergrundbild. In der Theme-Datei (z.B. header.php des Themes), in der Du das ganze dann benötigst, kannst Du dem div über das style-Attribut dann direkt das nötige Hintergrundbild mitgeben, welches das Default-Bild aus der CSS-Datei überschreibt.

  • hm... so ganz bin ich grad nicht auf der Höhe...

    Ich habe die header.php in der folgendes steht:

    PHP
    <div id="oben">
        <h1><a href="<?php echo get_option('home'); ?>/"><?php bloginfo('name'); ?></a></h1> 
        <p><?php bloginfo('description'); ?></p>
    </div>

    In der css-Datei steht der CSS-Code, den ich schon gepostet habe.

    Wenn ich Dich richtig verstehe, kann ich fast alles so lassen, bis auf die Sache mit dem Hintergrundbild, welches ich dann direkt in das div schreiben würde. Also würde daraus sowas werden:

    PHP
    <div id="oben" style="background-image: url(<?php echo $bgs[0];?>); ">
        <h1><a href="<?php echo get_option('home'); ?>/"><?php bloginfo('name'); ?></a></h1> 
        <p><?php bloginfo('description'); ?></p>
    </div>

    Soweit habe ich Dich richtig verstanden, oder? Und wo würde ich dann die definition für die Variable reinschreiben?

    vielen Dank
    Muckel

  • Die Variable muss mit in die header.php oder eine andere, vorher geladene PHP-Datei Deiner Wahl. PHP in CSS-Dateien ist nicht per se unmöglich, aber ich würde es wirklich nicht machen.

  • Guten Morgen zusammen,

    haben in der style.css das Hintergrundbild auskommentiert und nur die Anordnung und das Wiederholen drin gelassen. Den "Rest" habe ich dann in die header.php eingetragen, die so ausschaut:

    Doch leider wird kein Hintergrundbild angezeigt. Wo liegt denn mein Fehler?

    Hoffe ihr könnt mir helfen.
    LG
    Muckel

    Edit: Das Problem liegt darin, dass der Pfad des Hintergrundbildes ab der URL gesucht wird und nicht im Theme Ordner. Das müsste ich noch irgendwie ändern.

    Einmal editiert, zuletzt von Muckel (5. September 2009 um 12:18)

  • Lösung gefunden!

    Vor dem Pfad des Hintergrundbildes noch dieses schreiben:

    PHP
    <?php bloginfo('template_directory'); ?>/

    und es funktioniert.

    Danke euch!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!