|
safaga :
| 08.02.2006 14:48 |
gestern wurde ich darauf angesprochen ob es möglich sei den hintergrund ja nach tageszeit zu ändern.
will heissen. tagsüber ein anderes hintergrundbild wie nachts. so etwas müsste ich ja über 2 .css dateien steuern.
nun habe ich mir mal gedanken gemacht wie dieses wohl aussehen könnte. allerdings gibt es da wohl ein paar probleme. die css wird ja in der header.php angesteuert. wie müsste der code wohl aussehen wenn ich z.B. von 6 uhr morgens bis 18 uhr abends eine tag.css und von 18 uhr bis 6 uhr eine nacht.css ansprechen will?
Hat da jemand eine idee wie man so etwas umsetzt und wie man es vor allem im exoops einfügen müsste?
generell könnte der code ja so oder so ähnlich aussehen: Code:<?PHP $zeit= date("H"); if($zeit >= 19 && $zeit < 6){ echo "<link rel='stylesheet' href='nacht.css' type='text/css'>"; }elseif($zeit >= 6 && $zeit < 11){ echo "<link rel='stylesheet' href='morgen.css' type='text/css'>"; }elseif($zeit < 19){ echo "<link rel='stylesheet' href='tag.css' type='text/css'>"; } ?>
danke safaga |
|
|
bama :
| 08.02.2006 15:16 |
dein Gedanke ist schon richtig, den Code muss du jedoch in die /include/functions.php
function xoops_header
einbauen.
PS: ändere doch mal dein Profil dein www Button geht auf diese Page  |
|
|
safaga :
| 08.02.2006 15:27 |
Ok, in welche datei dass kommt ist mir jetzt klar.
@bama, so kann es in exoops ja aber nicht funktionieren. wie müsste ich den code denn umschreiben dass er in der functions.php auch reibungslos funktioniert . Wo müsste ich was einfügen? habe entdeckt dass da 2mal auf die .css verwiesen wird einmal oben als:
Code:<link href="<?php echo XOOPS_URL;?>/include/style.css" rel="stylesheet" type="text/css">
und weiter unten:
Code://----------------------------------------------------------------------------------------// /** * Function to get css file for a certain theme */ function getcss($theme) { global $xoopsModule;
$theme_dir = XOOPS_ROOT_PATH.'/themes/'.$theme.'/style'; $theme_url = XOOPS_URL.'/themes/'.$theme.'/style'; $mod_dir = $xoopsModule ? $xoopsModule->dirname() : FALSE;
if ( preg_match('/(MSIE)|(Opera)/i', _HTTP_USER_AGENT) ) {
if ( $mod_dir && @file_exists($theme_dir.'/'.$mod_dir.'_style.css') ) { return ($theme_url.'/'.$mod_dir.'_style.css');
} elseif ( @file_exists($theme_dir.'/style.css') ) { return ($theme_url.'/style.css'); }
} else {
if ( $mod_dir && @file_exists($theme_dir.'/'.$mod_dir.'_styleNN.css') ) { return ($theme_url.'/'.$mod_dir.'_styleNN.css');
} elseif ( @file_exists($theme_dir.'/styleNN.css') ) { return ($theme_url.'/styleNN.css');
} elseif ( $mod_dir && @file_exists($theme_dir.'/'.$mod_dir.'_style.css') ) { return ($theme_url.'/'.$mod_dir.'_style.css');
} elseif ( @file_exists($theme_dir.'/style.css') ) { return ($theme_url.'/style.css'); }
} }
//---------------------------------------------------------------------------------------//
ausserdem habe ich im www eine seite gefunden wo dies schon angewandt wird, allerdings verwirrt mich dies schon wieder sehr. vielleicht haben ja auch andere exoopsuser lust so etwas auf der website anzuwenden und es traut sich jemand zu so etwas für exoops anzupassen. Hier der Link zu einer, wie ich finde, echt genialen Sache: Tag und Nacht .css
Vielen, vielen Dank |
|
|
bama :
| 08.02.2006 23:44 |
getestet habe ich es nicht, aber probier es mal so aus Code: function getcss($theme) { global $xoopsModule; $theme_dir = XOOPS_ROOT_PATH.'/themes/'.$theme.'/style'; $theme_url = XOOPS_URL.'/themes/'.$theme.'/style'; $mod_dir = $xoopsModule ? $xoopsModule->dirname() : FALSE; $zeit= date("H"); if($zeit >= 19 && $zeit < 6){ $style_css='nacht.css'; }elseif($zeit >= 6 && $zeit < 11){ $style_css='morgen.css'; }else{ $style_css='tag.css'; } if ( preg_match('/(MSIE)|(Opera)/i', _HTTP_USER_AGENT) ) { if ( $mod_dir && @file_exists($theme_dir.'/'.$mod_dir.'_style.css') ) { return ($theme_url.'/'.$mod_dir.'_style.css'); } elseif ( @file_exists($theme_dir.'/'.$style_css) ) { return ($theme_url.'/'.$style_css); } } else { if ( $mod_dir && @file_exists($theme_dir.'/'.$mod_dir.'_styleNN.css') ) { return ($theme_url.'/'.$mod_dir.'_styleNN.css'); } elseif ( @file_exists($theme_dir.'/styleNN.css') ) { return ($theme_url.'/styleNN.css'); } elseif ( $mod_dir && @file_exists($theme_dir.'/'.$mod_dir.'_style.css') ) { return ($theme_url.'/'.$mod_dir.'_style.css'); } elseif ( @file_exists($theme_dir.'/'.$style_css) ) { return ($theme_url.'/'.$style_css); } } }
die 3 CSS nacht.css morgen.css und tag.css müssen im Pfad /themes/xxxx/style liegen |
|
|
|
bama :
| 09.02.2006 17:49 |
also bei mir funktioniert es
füge mal zum testen, nach den Abfragen der Tageszeit
varAnzeige(array("style_css" => $style_css, "zeit" => $zeit), 0);
ein, dann wird dir oben im Browser das css und die zeit angezeigt, welches geladen werden soll |
|
|
safaga :
| 09.02.2006 20:28 |
Hi bama, also was hast du was ich nicht habe. evtl eine höhere .php version? Habe es jetzt nochmal frisch installiert und wieder passiert nix. Grübel, Grübel.... Wird die Zeit eigentlich von meinem Rechner genommen oder vom Server?
Das Theme greift immer auf die tag.css zu. Diese steht ja an letzter stelle der Abfrage und wird somit in jedem Falle geladen.
Ich habe die PHP Version ist 4.4.0
Da ich noch nicht die aktuelle Version von Exoops habe sondern Vers. 2.0.3, nicht weiss ob ihr da evtl was geändert habt, lasse Dir mal die function.php mal zukommen wie ich die bei mir installiert habe.
Seit wann kann man eigentlich keinen .zip file mehr anhängen? Dann schicke ich Dir die mal per PM!
gruß safaga |
|
|
bama :
| 09.02.2006 21:22 |
die erste Abfrage ist falsch
if($zeit >= 19 && $zeit < 6){
muss heissen
if($zeit >= 19 && $zeit <= 24 || $zeit >= 0 && $zeit < 6){ |
|
|
safaga :
| 09.02.2006 22:17 |
COOOOLLL,
danke Bama Bin begeistert - es klappt hervorragend!!!
Nochmals Danke Dass bereichert eine Website doch ungemein  |
|
|