Page 1 of 1

Variable Hintergrundbilder für #leftBlock/ #rightBlock

Posted: Mon 6. Oct 2014, 15:56
by kukki
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.

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

Posted: Mon 6. Oct 2014, 20:13
by Oliver Georgi
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.