Hoi Septembergrau,

Habe es mal gerade getestet und direkt im Theme eingesetzt.
theme.functions.phpsuche: function theme_replace_start ca.Zeile 183 und füge hinter
$part[] = array('"images/', '"' . MX_THEME_DIR . '/images/'); // normale images im theme
folgendes ein:
$part[] = array("{THEMEBACKGROUND}", theme_get_layout_background()); // wechselnder Background
füge am Ende vor ?> folgendes ein:
//Hintergrundwechsel
function theme_get_layout_background()
{
global $themesetting;
foreach ($themesetting['headnav'] as $title => $menue) {
if (in_array(1, $menue['case'])) {
if ($menue['background']) {
return $menue['background'];
} else {
return $themesetting['basebackground'];
}
}
}
/* wenn nix gefunden, dann Standard zurueck.. */
return $themesetting['basebackground'];
}
theme.settings.phpfüge hinter:
defined('mxMainFileLoaded') or die('access denied');
folgendes ein:
/**
* Hintergrundeinstellung
*/
$themesetting['basebackground'] = 'home';
nun füge in den einzelnen Module in der headnav
folgendes z.B. bei den News ein
'background' => 'news',
so z.B.
$themesetting['headnav'][] = array(/* Newsmodul */
'background' => 'news',
'menu' => 1,
theme.htmlfüge in den Bereich more header folgendes ein:
<link rel="stylesheet" href="style/background.php?background={THEMEBACKGROUND}" type="text/css" />
style.cssdort einfach den background: ................................. entfernen
und jeweils
eine neue background-news.css (z.B.)
body {
background: url(../images/news.jpg) no-repeat scroll center top #FDF9F6;
}
Jetzt erstelle dir noch die background.php mit folgendem Inhalt:
<?php
error_reporting(0);
if (empty($_REQUEST['background'])) {
$background = 'home';
} else {
$background = trim($_REQUEST['background']);
}
if (!$background || !file_exists(dirname(__FILE__) . '/background-' . $background . '.css')) {
$background = 'home';
}
header('Content-Type: text/css');
header('Expires: ' . gmdate('D, d M Y H:i:s GMT', time() + 3600 * 24)); // 1 day
include(dirname(__FILE__) . '/background-' . $background . '.css');
return;
?>
@import url(backgrounds-<?php echo $background ?>.css);
Habe es
hier mal nur mit Farben gemacht. Denke so ähnlich sollte es dann sein.