Content Management System - CMS : eXV2 
Home
News
Forum
Downloads
Download Module
Sitemap
Partnerseiten
RSS News
Kontakt/Info
Sprache
EnglishFrench
Suchen
Login
Nickname
Passwort

Registrieren?
Passwort?
Navigation
 Home News  Forum Neueste Beiträge  Downloads Download Module eXV² Themes  Weblinks Tutorial Changelog 2.3.1 Jobcenter Gebrauchtmarkt OSMap  Sponsor Kalendersystem Sitemap Partnerseiten RSS News Kontakt/Info Webseiten Wetter
Willkommen im Free Web CMS : eXV² Forum!
  Forenarchiv
     eXV2 Administration
  .css nach tageszeit

Forum : eXV2 Administration

Titel : .css nach tageszeit

© 2004-2012 www.exv2.de
http://www.exv2.de

URL dieser Diskussion
http://www.exv2.de/modules/newbb_plus/viewtopic.php?topic_id=3159&forum=4


 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 &amp;&amp; $zeit < 6){
echo "<link rel='stylesheet' href='nacht.css' type='text/css'>";
}elseif($zeit >= 6 &amp;&amp; $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 Surprised Confused Surprised

 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 &amp;&amp; @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 &amp;&amp; @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 &amp;&amp; @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 &amp;&amp; $zeit < 6){
$style_css='nacht.css';
}elseif($zeit >= 6 &amp;&amp; $zeit < 11){
$style_css='morgen.css';
}else{
$style_css='tag.css';
}

if ( preg_match('/(MSIE)|(Opera)/i', _HTTP_USER_AGENT) ) {

if ( $mod_dir &amp;&amp; @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 &amp;&amp; @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 &amp;&amp; @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

 safaga :

09.02.2006 01:04
 Leider geht es nicht. Obwohl deine Lösung ziemlich schön wäre, da man dann eben die gesamte Homepage, Schrift, Grafiken, Buttons etc. auf 2 Themes Tag & Nacht einrichten könnte. Vielleicht findest bei Gelegenheit ja den Haken an dem es noch hängt.

Habe jetzt eine Alternative gebastelt, die funktioniert halt leider nur für dass Hintergrundbild, aber immerhin besser wie nix.

ein kurzes Javascript was direkt in die theme.php gesetzt wird:


Code:
<script language="javascript"> var d=new Date(); var h=d.getHours(); if(h>=7 &amp;&amp; h<=21) { document.write('<body background="http://Pfad zum Bild/tag.gif">'); } else { document.write('<body background="http://www.Pfad zum Bild/nacht.gif">'); } </script>



...die andere Lösung wäre trotzdem viiiel schöner.

danke für Deine Mühe Razz

 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 Razz Razz
Partnerseiten
http://www.en.exv2.eu/

Vote für eXV2
php
Kontakt/Info
  Kontakt
  Impressum
  Link zu uns
  AGB
  Datenschutzhinweis
Downloads
  eXV² Core
  Core Sprachfiles
eXV² Filecenter
  Downloads
  Download Module
  eXV² Themes
  Multilanguage Module
  Sprachfiles eXV² Module
eXV² Support
  France