Hilfe - Suche - Mitglieder - Kalender
Vollansicht: Adventskalender
Forum Sefrengo.org > Allgemeine Foren > Offtopic
FireFlyer
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?
pawel
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.
FireFlyer
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?
pawel
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?
FireFlyer
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.
pawel
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 biggrin.gif
Dieses ist eine vereinfachte Darstellung unseres Foreninhaltes. Um die detaillierte Vollansicht mit Formatierung und Bildern zu betrachten, bitte hier klicken.
Invision Power Board © 2001-2024 Invision Power Services, Inc.