Seite 1 von 2

HeaderLogo autom. in best. Zeitraum ändern

Verfasst: 23.03.2012 11:23
von DerTheo
H Leute

Ich suche eine Mod, die in einem bestimmten Zeitraum oder an einem bestimmten Datum das Logo auf ein vorher ausgewählstes Bild ändert und danach wieder zurück stellt.
Gibt es so eine Mod?

Ich erstelle für Weihnachten, das Forenjubiläum etc. eigene Abwandlungen des HeaderLogos und würde die änderung über die Mod gerne automatisieren.
Perfekt wäre noch, wenn man zu jedem Logo einen "MouseOver" Text eingeben könnte :)

Sollte es diese Mod / eine ähnliche nicht geben, eröffne gerne einen Thread in der Jobbörse :)

Grüße
Theo

Re: HeaderLogo autom. in best. Zeitraum ändern

Verfasst: 23.03.2012 17:27
von modernist
Das kannst du mit ein paar Änderungen schnell selbst einbauen.

Ich hatte da was für den Advent genutzt, was aber natürlich für jede Jahreszeit passt. Die Variablen heißen aber trotzdem eher weihnachtlich...

In der root/includes/functions.php suche

Code: Alles auswählen

	// Send a proper content-language to the output
	$user_lang = $user->lang['USER_LANG'];
Davor fügst du folgendes ein

Code: Alles auswählen

// Advent
$todaydate = date("d");
$todayhour = date("H");
$todaymonth = date("m");

$template->assign_vars(array(
		'ADVENTDAY'		=> $todaydate,
		'ADVENTHOUR'		=> $todayhour,
		'ADVENTMONTH'		=> $todaymonth,
	));
//		
In der overall_header.html deines Styles baust du dann um dein Headerlogo folgendes ein, wenn das Logo für den 14. eines Monats anders sein soll:

Code: Alles auswählen

<-- IF ADVENTDAY eq "14" -->(Header für den 14.Tag des Monats)<!-- ELSE -->(Header für andere Tage)<!-- ENDIF -->
Das kannst du dann auch mit dem Monat oder der Stunde machen.

Wenn beispielsweise was von 16.00 - 17.59 Uhr angezeigt werden soll:

Code: Alles auswählen

<-- IF ADVENTHOUR eq "16" or ADVENTHOUR eq "17" -->Header 1<!-- ELSE -->Header 2<!-- ENDIF -->

Re: HeaderLogo autom. in best. Zeitraum ändern

Verfasst: 24.03.2012 14:38
von DerTheo
Dank, klappt alles bis auf eines: ich würde gerne einen Ordner mit allen Header Grafiken anlegen zb /images/header
Dort kommen dann alle Grafiken rein, zb der Header im Weizhnachts-Stil, im Silvester-Stil etc.

zb /images/header/silvester.png
/images/header/weihnachten.png
usw.

Wie definiere und erstelle ich dann SILVESTER_LOGO etc.?

Code in der overall_header

Code: Alles auswählen

[...]
<!-- IF LCDAY eq "30" or LCDAY eq "31" and LCMONTH eq "12" or LCDAY eq "1" and LCMONTH eq "1"--><a href="{U_INDEX}" title="heute" id="logo">{SILVESTER_LOGO}</a>
[...]
PS Für alle besonderen Anlässe, da ensteht schon ein nicht kleiner Code :)

Code: Alles auswählen

<!-- IF LCDAY eq "24" or LCDAY eq "20" or LCDAY eq "21" or LCDAY eq "22" or LCDAY eq "23" or LCDAY eq "24" or LCDAY eq "25" and LCMONTH eq "3" --><a href="{U_INDEX}" title="heute" id="logo">{SITE_LOGOG_IMG}</a>

<!-- ELSE -->
<!-- IF LCDAY eq "30" or LCDAY eq "31" and LCMONTH eq "12" or LCDAY eq "1" and LCMONTH eq "1"--><a href="{U_INDEX}" title="heute" id="logo">{SILVESTER_LOGO}</a>

<!-- ELSE -->
<!-- IF LCDAY eq "6" and LCMONTH eq "7"--><a href="{U_INDEX}" title="{L_INDEX}" id="logo">{BOARD_GEBURTSTAG}</a>

<!-- ELSE -->
<!-- IF LCDAY eq "28" or LCDAY eq "29" or LCDAY eq "30" or LCDAY eq "31" and LCMONTH eq "10" or LCDAY eq "1" and LCMONTH eq "11"--><a href="{U_INDEX}" title="{L_INDEX}" id="logo">{HALLOWEEN}</a>

<!-- ELSE -->
<a href="{U_INDEX}" title="heute" id="logo">{STANDARD_LOGO}</a>
<!-- ENDIF --><!-- ENDIF --><!-- ENDIF --><!-- ENDIF -->

Re: HeaderLogo autom. in best. Zeitraum ändern

Verfasst: 24.03.2012 14:44
von modernist
Am besten du benennst die Bilder entsprechend dem Tagesdatum 1, 2, 3... 29, 30, 31.

Code: Alles auswählen

<!-- IF LCMONTH eq "12" --><a href="{U_INDEX}" title="heute" id="logo">bildpfad/bild{LCDAY}.jpg</a><!--ENDIF -->
Und für den 1.1. kannst du dann noch ein ELSEIF ergänzen:

Code: Alles auswählen

<!-- IF LCMONTH eq "12" --><a href="{U_INDEX}" title="heute" id="logo">bildpfad/bild{LCDAY}.jpg</a><!-- ELSEIF LCMONTH eq "1" and LCDAY eq "1" -->bildpfad/neujahr.jpg<!--ENDIF -->
Alternativ könntest du auch einfach einen Unterordner mit der Monatsnummer anlegen wie bildpfad/12/ oder bildpfad/1/

Dann könnte es so aussehen:

Code: Alles auswählen

<a href="{U_INDEX}" title="heute" id="logo">bildpfad/{LCMONTH}/bild{LCDAY}.jpg</a>
IF und/oder ELSEIF kannst du dir ja selbst überlegen. :wink:

Re: HeaderLogo autom. in best. Zeitraum ändern

Verfasst: 24.03.2012 15:03
von DerTheo
Wenn ich den Bildpfad reinpacke:

<!-- IF LCMONTH eq "12" --><a href="{U_INDEX}" title="heute" id="logo">http://www.test.de/images/logos/weihnac ... ><!--ENDIF -->
(im Beispiel mal ohne die Tage) dann spuckt er mir nur den Pfad selbst aus, ich sehe also im Header kein Bild sondern den Pfad: http://www.test.de/images/logos/weihnachten.jpg

Übersehe ich irgendwas offensichtliches, mir kommt es gerade so vor :o

Re: HeaderLogo autom. in best. Zeitraum ändern

Verfasst: 24.03.2012 15:05
von Malte
Ich möchte euch bei eurem Thema jetzt nicht stören, aber ich möchte mich mal kurz bei der Modernist bedanken:
Es ist ein echter Zufall, das du das mit dem Advent hast. Ich habe nämlich den Adventskalendermod eingebaut und bin seit Jahren auf der Suche, nach einem MOD bzw. einem Snippet das den Headerlink zum Adventskalender zu bestimmten Jahreszeiten verdeckt. :D Ich weiß nicht, ob da sbei dir auch der Zweck des MODs ist, aber bei mir ist es auf jeden Fall so. :D

Noch eine kleine Frage nebenbei:

Wie kann man ein Zeitintervall leicht festlegen?
Also beispielsweise "Zeige es an, wenn Tag 5-21". Muss man dann schachteln wie <!-- IF LCDAY eq "5" or LCDAY eq "6" or LCDAY eq "7" ... --> oder kann man das auch in der Art von-bis festlegen?

Re: HeaderLogo autom. in best. Zeitraum ändern

Verfasst: 24.03.2012 15:15
von modernist
DerTheo hat geschrieben:Übersehe ich irgendwas offensichtliches, mir kommt es gerade so vor
Ja, Bilder packt man in <img />-Tags... :wink:
Malte hat geschrieben:Also beispielsweise "Zeige es an, wenn Tag 5-21"
Mit < und > ginge das wohl auch. IF LCDAY > "4" and LCDAY < "22"...probier mal etwas rum.

Re: HeaderLogo autom. in best. Zeitraum ändern

Verfasst: 24.03.2012 15:25
von DerTheo
@modernist
ich DERP ich^^ sorry voll verplant...

@malte

eq = is equal to
ne = is not equal to
gt = is greater than
ge = is greater than or equal to
lt = is less than
le = is less than or equal to

klappt alles, 5 - 21 wäre dann:

Code: Alles auswählen

!-- IF LCDAY ge "5" and LCDAY le "21" -->

Re: HeaderLogo autom. in best. Zeitraum ändern

Verfasst: 24.03.2012 15:28
von Malte
Ah wunderbar, ich probiere mal rum, danke euch beiden. Zu "DerTheo":

Danke, wo hast du diese ganzen Codes her?

Also in meinen beispiel würde es heißen <!-- IF LCDAY ge "5" and le "21" -->?

Re: HeaderLogo autom. in best. Zeitraum ändern

Verfasst: 24.03.2012 15:36
von modernist
Malte hat geschrieben:Also in meinen beispiel würde es heißen <!-- IF LCDAY ge "5" and le "21" -->?
Sollte passen. Auch hier hilft, wie immer, ausprobieren! :wink: