Variable Hintergrundbilder für #leftBlock/ #rightBlock

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

Variable Hintergrundbilder für #leftBlock/ #rightBlock

Post 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.
Lieber arm dran als Arm ab!

meine historische Website: Jagdgeschwader 300 1.9.34-R554
kukki's SpIeLwIeSe V.1.9.33 R553 responsive
User avatar
Oliver Georgi
Site Admin
Posts: 9888
Joined: Fri 3. Oct 2003, 22:22
Contact:

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

Post 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.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
Post Reply