Seite 1 von 2

Skins von der Tageszeit/Uhrzeit abhängig

Verfasst: 11.02.2005 16:38
von Laks
Hi Leute,

Wie ist möglich, dass sich die Skins in meinem Forum wechseln?
Also von der Tageszeit abhängig.

mfg Laks

Verfasst: 12.02.2005 16:56
von Laks
mh... kann mir da von euch auch keiner weiterhelfen?

Verfasst: 13.02.2005 15:37
von Mungo
Versuch mal folgendes:

common.php

Suche:

Code: Alles auswählen

while ( $row = $db->sql_fetchrow($result) )
{
	$board_config[$row['config_name']] = $row['config_value'];
}
Danach einfügen (musst du natürlich noch anpassen):

Code: Alles auswählen

if (date("G") >= 0 && date("G") <= 8) $board_config['default_style'] = 2;
elseif (date("G") >= 9 && date("G") <= 15) $board_config['default_style'] = 3;
elseif (date("G") >= 16 && date("G") <= 21) $board_config['default_style'] = 4;
else $board_config['default_style'] = 1;
Kurze Erklärung:
if (date("G") >= 0 && date("G") <= 8) $board_config['default_style'] = 2;
0 und 8 sind die Uhrzeit. Der Style soll zwischen 0 Uhr und 8 Uhr angezeigt werden.

Die 2 ist die ID des Styles. Die ID findest du in der Datenbank und zwar in der Tabelle "phpbb_themes". Wichtig ist, dass diese ID auch wirklich existiert, sonst bekommst du ne Fehlermeldung.

So wird nun das Style für Gäste (bzw. ausgeloggte User) angezeigt. Wenn die Styles für alle User angezeigt werden sollen, dann aktiviere "Style überschreiben" im Administrationsbereich unter Konfiguration.

Verfasst: 13.02.2005 17:26
von Laks
ok, danke. habs jetzt so gemacht:

Code: Alles auswählen

<?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'>";
}
?>

Verfasst: 13.02.2005 17:56
von punkface
Laks hat geschrieben:ok, danke. habs jetzt so gemacht:

Code: Alles auswählen

<?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'>";
}
?>
Das ist so allerdings falsch. Da wirst du sicherlich irgend ein Fehler angezeigt bekommen. Also wenn du das gleiche Template aber je nach Tageszeit eine unterschiedliche CSS Datei benutzten willst, würde ich folgendes vorschlagen:

page_header.php

suche

Code: Alles auswählen

$template->assign_vars(array(
davor einfügen

Code: Alles auswählen

$zeit= date("G");
if( $zeit >= 19 && $zeit < 6 )
{ 
  $theme['head_stylesheet'] = 'nacht.css';
}
elseif( $zeit >= 6 && $zeit < 11 )
{ 
  $theme['head_stylesheet'] = 'morgen.css';
}
else
{ 
  $theme['head_stylesheet'] = 'tag.css';
}
Und dann musst du natürlich noch KB:69

ps: Welches Template benutzt du bzw. benutzt du mehrere?

Verfasst: 13.02.2005 18:03
von Mungo
Wenn du natürlich nur die CSS ändern willst, dann kannst du es natürlich nicht so machen, wie ich es beschrieben habe.
In Zukunft formuliere deine Frage bitte eindeutiger ;)

Die Lösung von punkface sollte aber funktionieren.

Verfasst: 13.02.2005 20:27
von Laks
@mungo: ja ok, die änderungen sollen sich bei mir nur auf die css dateien beziehen.


Ich habe ein Template "pvc", da sollen 3 verschiedene css Dateien rein.

Problem:
Wenn ich die css Befehle direkt in die overall_header.tpl schreibe
ist alles ok,
wenn ich sie jedoch in eine externe style.css packe und diese einbinde
geht das irgendwie nicht! Woran kann das liegen?

Verfasst: 13.02.2005 20:43
von Laks
Kann es sein, dass es an den "Variablen", die in den CSS Befehlen vorkommen, liegt?
wie z.b. {T_TR_COLOR2}

Verfasst: 14.02.2005 03:38
von Mungo
{T_TR_COLOR2} usw. kannst du nicht in den CSS-Dateien verwenden. Einfach die entsprechenden Fraben angeben.

Verfasst: 14.02.2005 16:14
von Laks
Mungo hat geschrieben:...Die ID findest du in der Datenbank und zwar in der Tabelle "phpbb_themes".
Wo genau soll das sein?