Variable Hintergrundbilder für #leftBlock/ #rightBlock

Bitte alle templatebezogenen Beiträge in diesem Forum veröffentlichen.
Post Reply
User avatar
kukki
Posts: 1666
Joined: Mon 7. Feb 2005, 20:02
Location: Berlin Köpenick
Contact:

Variable Hintergrundbilder für #leftBlock/ #rightBlock

Post by kukki » Mon 6. Oct 2014, 15:56

Aufgrund einer Websitevorgabe habe ich mir an den bisherigen Websites eine Lösung für variabler Hintergrundbilder ausdenken müssen. Beim Probieren und umschreiben bin ich dann auch eine gangbaren (z.Zt. als InlinePHP) gestoßen. Die :idea: : Mittels Artikel-ID und <!-- CSS: .... --> solle die ID #leftBlock modifiziert werden. Durch das einfache Tauschen der Hintergrundbilder im Verzeichnis /picture und im Scriptteil ließe sich diese Lösung auf für andere Zwecke "mißbrauchen"

Code: Select all

[PHP]
    if( isset($GLOBALS['LEVEL_ID'][1]) )
      {
      $backgr= 'leer.jpg';     
      switch( $GLOBALS['LEVEL_ID'][2])  
      { // Werkstatt
        case 100: $backgr = 'werkstatt.jpg';
        break;
        // Uhren
        case 110: $backgr = 'uhr.jpg';
        break;
        // Schmuck
......
        case 140: $backgr = 'partner.jpg';
        break;    }
echo ' <!-- CSS: 
#leftBlock {
 background-image: url("/picture/'.$backgr.'"); 
 background-repeat: no-repeat;
 -webkit-background-size: cover;
 -moz-background-size: cover;
 -o-background-size: cover;
 background-size: cover; 
} -->   ';   }
[/PHP]
Durch meine favorisierte Art der dyn. Website-Layouts - mit variablen Viewport und fester Breite - macht die automatische Anpassung durch "cover" sehr gut und einfach.
Lieber arm dran als Arm ab!

meine historische Website: Jagdgeschwader 300 1.9.0 RC2
kukki's SpIeLwIeSe V.1.9.8 R549 responsive

User avatar
Oliver Georgi
Site Admin
Posts: 9559
Joined: Fri 3. Oct 2003, 22:22
Location: Moscow, Russia
Contact:

Re: Variable Hintergrundbilder für #leftBlock/ #rightBlock

Post by Oliver Georgi » Mon 6. Oct 2014, 20:13

ich hinterfrage mal nicht das ganz ein Gänze, aber alles nicht das Wahre. Code sparen.

Code: Select all

#leftBlock {
    background-image: none;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover; /* Opera 12 ist tot */
    background-size: cover;
}

Code: Select all

[PHP]
if(isset($GLOBALS['LEVEL_ID'][1]) ) {
      $bg = array(
          0 => 'leer.jpg',
          100 => 'werkstatt.jpg',
          110 => 'uhr.jpg',
          140 => 'partner.jpg'
      );
      echo '<!-- CSS: #leftBlock {background-image: url(picture/';
      echo isset($GLOBALS['LEVEL_ID'][2]) && isset($bg[$GLOBALS['LEVEL_ID'][2]])) ? $bg[$GLOBALS['LEVEL_ID'][2]] : $bg[0];
      echo ');}';
}
[/PHP]
Die bessere Lösung wäre aber, Klassen über die Struktur Klassendefinition abzufangen.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон

Post Reply