Adventskalender |
Willkommen, Gast ( Anmelden | Registrierung ) [ Hilfe | Mitglieder | Suche ]
Adventskalender |
Sun. 29. November 2009, 11:09
Beitrag
#1
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 446 Mitglied seit: 12.09.2006 Wohnort: Bamberg Mitglieds-Nr.: 235 |
Hi,
ich werde mal wieder einen Adventskalender für meine Homepage machen, aber es sollte diesmal über Lytebox 3.2 laufen. Das Grundgerüste steht: Kalender Auszug aus der kalender.htm: <tr> <td colspan="49"> <a href="kalender.php?id=3" rel="lytebox"> <img src="images/kalender.jpg" width="560" height="14" border="0" alt="" /></a></td> <td> <img src="images/Abstandhalter.gif" width="1" height="14" alt="" /></td> </tr> Inhalt kalender.php: CODE <? include("functions.inc.php"); ######################################## #### // Dieses Script ist von Wilko Behrend. // <a href="http://www.ptw-server.de" target="_blank">http://www.ptw-server.de</a> // Hinweis: Die Schreiberhinweise dürfen im kompletten Script nicht entfernt werden! ######################################## #### //Verbindung zur MySQL Datenbank aufbauen! $id = $_GET["id"]; include('daten.inc.php'); mysql_connect($dbhost, $dblogin, $dbpwd) or die("Verbindung zur Datenbank fehlgeschlagne"); mysql_select_db($dbname); $zeile = mysql_fetch_array(mysql_query("select * from ptw_advent where id2='$id'")); $time = time(); if($time >= $zeile[timestamp]) { // Datum ist richtig //Cookie wird gespeichert... $neu = $_COOKIE["adventskalender_ptw_3452"]; $neu = base64_unserialize(stripslashes($neu)); $neu[$id] = "wada"; $seri = base64_serialize($neu); setcookie("adventskalender_ptw_3452",$seri, time()+(3600*24*30)); //Datei wird includet echo "<img src=".$ordnername."/".$zeile[link].".jpg >"; } else { // Es ist zu früh, man wird auf die zu früh Seite geleitet! include($ordnername."/zu_frueh.htm"); } ?> In der Datenbank werden nur die Timestamps und $zeile[link] gespeichert: CODE id id2 timestamp link 1 1 1228086000 1 2 2 1228172400 2 3 3 1228258800 3 4 4 1228345200 4 5 5 1228431600 5 6 6 1228518000 6 7 7 1228604400 7 8 8 1228690800 8 9 9 1228777200 9 10 10 1228863600 10 11 11 1228950000 11 12 12 1229036400 12 13 13 1229122800 13 14 14 1229209200 14 15 15 1229295600 15 16 16 1229382000 16 17 17 1229468400 17 18 18 1229554800 18 19 19 1229641200 19 20 20 1229727600 20 21 21 1229814000 21 22 22 1229900400 22 23 23 1229986800 23 24 24 1230073200 24 Beispiel ist fürs Jahr 2008, damit ich alle Fenster öffnen kann! Früher wurde im Href ohne rel="lytebox" gearbeitet und in der kalender.php bei //Datei wird includet war es keine .jpg sondern .htm! Is irgendwo logisch, dass er den Link in der Lytebox öffnet, aber dann nicht weis wo er hin soll. Hat jemand eine funkende Idee? |
|
|
Sun. 29. November 2009, 20:10
Beitrag
#2
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 442 Mitglied seit: 02.07.2006 Wohnort: Halle Mitglieds-Nr.: 71 |
Na ja ohne JS wird das Bild angezeigt.
kalender.php?id=3 verwaltet nur eine Referenz auf <img src=kalender/3.jpg >. Ich weiss nicht, ob es an den fehlenden Anführungszeichen liegt, dass die lytebox dann nichts anzeigt. PS: Warum du nicht ein Hintergrundbild verwendest und absolut poistionierte Links (statt Tabellenzellen), wird sicher dein Geheimnis bleiben. -------------------- |
|
|
Sun. 29. November 2009, 21:12
Beitrag
#3
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 446 Mitglied seit: 12.09.2006 Wohnort: Bamberg Mitglieds-Nr.: 235 |
Ich mach den Kalender schon seit 5 Jahren so. Bild in Photoshop reinziehen und die Slices aus dem Vorjahr übernehmen, dann als html und jpg speichern lassen. Natürlich könnte man das ganze absolut positionieren, aber dies ändert ja nichts an meinem Problem, oder doch?
Klar, ohne JS sollte auch nicht die Lytebox gehen und dann wird der Link kalender.php?id=3 an die Datei kalender.php übergeben, welche prüft, ob das Fenster schon geöffnet werden darf oder nicht. Ich bräuchte einen Tunnel, der mir den Link prüft und dann per Lytebox mir das Bild anzeigt! Oder gibt es andere Denkansätze? |
|
|
Mon. 30. November 2009, 20:08
Beitrag
#4
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 442 Mitglied seit: 02.07.2006 Wohnort: Halle Mitglieds-Nr.: 71 |
Das es ohne lytebox geht, bedeutet, dass die Referenz auf das Bild funktioniert. Die lytebox "verschluckt" sich aber an etwas.
Die Fehlerkonsole gibt bei FF nichts aus, also liegt das Problem irgendwo im Script. Es ist auch schon recht alt. Vielleicht tauscht du es doch mit der originalen lightbox? -------------------- |
|
|
Mon. 30. November 2009, 20:15
Beitrag
#5
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 446 Mitglied seit: 12.09.2006 Wohnort: Bamberg Mitglieds-Nr.: 235 |
Versuch ich später mal. Muss jetzt den Kalender (alte Version) erst online bringen, damit die Leute schön Türchen öffnen können. Hab das Kalender-Skript auch schon ein wenig auf Bohren gekonnt, dass die Bilder im PHP-Bereich eingelesen werden. Spare mir da das erstellen einzelner Tagesseiten. Hab auch schon mal überlegt, ob und wie man dies als Modul aufarbeiten könnte. Wäre natürlich eine feine Sache und vielleicht braucht ja jemand auch sowas und bastelt neben mir mit!
Edit: Ist es überhaupt möglich, dass der Link <a href="kalender.php?id=3" rel="lytebox"> über Lytebox aufgemacht wird, da ja erst die kalender.php aufgerufen wird, in der das Datum geprüft wird und dann mittels echo "<img src=".$ordnername."/".$zeile[link].".jpg >"; ausgegeben wird. |
|
|
Wed. 2. December 2009, 18:10
Beitrag
#6
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 442 Mitglied seit: 02.07.2006 Wohnort: Halle Mitglieds-Nr.: 71 |
Im Grunde geht das schon.
Etwa so: Du liest die DB in ein Array ein (wobei ja anscheinend nur die Referenz auf einen Bildpfad drinsteht). Das Array jagst du durch eine Schleife und der letzte Schleifenpunkt entspricht dem aktuellem Tag. Die Differenz bis 24 wird mit dem Platzhalter aufgefüllt. Mit Basteln hat man ja jetzt ein jahr Zeit -------------------- |
|
|
Vereinfachte Darstellung | Aktuelles Datum: 28.4.24 - 22:21 |