ThWboard Support-Forum (Archiv)
Ort: / Boardübersicht / Code Hack Requests / kalenderevent auf der forenübersicht anzeigen?
Seite 1 von 1
ernstl schrieb am 09.12.2003 um 02:02 Uhr
ich würde gerne das aktuellste Kalenderevent auf der hauptseite bzw. der forenübersicht anzeigen lassen, gleich wie im kalender mit link zum kalendereintrag.
am besten rechts (aber auf gleicher höhe) von "WER IST ONLINE"...
hab schon ein bisserl herumgespielt, habs aber leider nicht hinbekommen...
danke schon mal im vorraus!!!
MAGIX schrieb am 09.12.2003 um 02:20 Uhr
sowas gibt es, schau ma bei THWH rein
http://hacks.slware.com/tboard/#hacks
ernstl schrieb am 15.12.2003 um 13:41 Uhr
tut mir leid aber ich hab nichts passendes gefunden :(
ernstl schrieb am 13.01.2004 um 23:35 Uhr
*push*
nochmal... ich möchte keinen minikalender oder ähnliches, ich möchte nur das AKTUELLE event in der FORUMSÜBERSICHT anzeigen lassen (beim kalender wird ja auch das aktuellste event angezeigt)
genau das gleich in der forenübersicht...
Zweeper schrieb am 07.03.2004 um 10:36 Uhr
würde mich auch mal interessieren da ich gerade auch nichts gefunden habe
Jürgen S. schrieb am 08.03.2004 um 11:52 Uhr
Hallo,
versuch mal folgendes.
(funktioniert bei mir in der Version 2,84)
in der index.php irgendwo (am besten vor den Zeilen)
eval($Tindex->GetTemplate("CONTENT"));
eval($Tframe->GetTemplate());
das hier Einfügen
#################### Anfang Hack Calender Anzeige
$r_events = thwb_query( "SELECT * FROM " . $pref . "calendar
WHERE eventtime>= CURDATE( )
ORDER BY eventtime ASC LIMIT 1" );
while( $event = mysql_fetch_array( $r_events ) )
{
$a_eventtime = explode("-",$event['eventtime']);
$a_event = $a_eventtime[2].".".$a_eventtime[1]." ".$event['eventsubject'];
}
##################### Ende Hack
in der main.html
an der Stelle, wo die anzeige Erscheinen soll nur noch
$a_event
eintragen
und wenn ihr in der while-Schleife den Variableneintrag von
$a_event = $a_eventtime[2].".".$a_eventtime[1]." ".$event['eventsubject'];
in
$a_event = '<a href="'.build_link('calendar.php?month=' . $a_eventtime[1]) . '">'. $a_eventtime[2].".".$a_eventtime[1]." ".$event['eventsubject'].'</a>';
ändert, dann kommt man beim Anklicken gleich auf die entsprechende Kalenderseite.
so sieht das bei mir aus
http://www.kirche-hoenow.de/calendar.png
Gruß
Jürgen
MrNase schrieb am 09.03.2004 um 15:04 Uhr
So geht es natürlich auch. Ich hab auf pagodentreff.de einfach den Code aus der calendar.php kopiert :)
Buggyboy schrieb am 09.03.2004 um 20:44 Uhr
Hallo!
Wie muß der Link zum Anklicken aussehen für die 2.81er Version?
Soweit läuft es bei mir.
Bis denne...
Peter
MrNase schrieb am 09.03.2004 um 21:27 Uhr
/*
#################### Anfang Hack Calender Anzeige
*/
$Tcaleventbox= new Template("templates/" . $style['styletemplate'] . "/calendareventbox_frontpage.html");
$currentdate = date("d.m.Y");
$currentday = date("j", time());
$currentmonth = date("m", time());
$currentyear = date("Y", time());
$r_calendar = mysql_query("SELECT * FROM ".$pref."calendar WHERE eventtime >= '$currentyear-$currentmonth-$currentday' ORDER BY eventtime");
$calendar = mysql_fetch_array($r_calendar);
$calendar[eventtime] = substr($calendar[eventtime],8,2).".".substr($calendar[eventtime],5,2).".".substr($calendar[eventtime],0,4);
if ( mysql_num_rows($r_calendar) != '0' )
{
eval($Tcaleventbox->GetTemplate("eventbox"));
}
/*
##################### Ende Hack
*/
Template: calendareventbox_frontpage.html
<table>
<TR>
<TD>
$style[smallfont]Nächster Termin : Am <B> $calendar[eventtime] </B> $style[smallfontend]
</TD>
<TD width="20">
$style[smallfont] $style[smallfontend]
</TD>
</tr>
<TR>
<TD colspan="2">
$style[smallfont] <strong><u>$calendar[eventsubject]</u></strong> <br />
[ <A HREF=# onclick="window.open('showevent.html?event=$calendar[eventid]','show_event','width=400,height=500,scrollbars=yes,menubar=no,toolbar=no,statusbar=no')"> Anschauen </A> ]$style[smallfontend]
</TD>
</tr></table>
Demo auf http://www.pagodentreff.de :)
Jürgen S. schrieb am 09.03.2004 um 23:11 Uhr
Hallo MrNase,
du kannst eine ganze Menge script einsparen.
Du schreibst:
$currentdate = date("d.m.Y");
$currentday = date("j", time());
$currentmonth = date("m", time());
$currentyear = date("Y", time());
$r_calendar = mysql_query("SELECT * FROM ".$pref."calendar WHERE eventtime >= '$currentyear-$currentmonth-$currentday' ORDER BY eventtime");
Das Datum braucht gar nicht berechnet werden.
CURDATE( )
ist eine MySQL Funktion und gibt das heutige Datum aus. Für die anzeige des nächsten Termines reicht ja dann vollkommen aus:
SELECT * FROM " . $pref . "calendar
WHERE eventtime>= CURDATE( )
ORDER BY eventtime ASC LIMIT 1
Damit wird nur 1 nächster Termin angezeigt.
Ach ja, ich denke der Link in der Version 2,81 sollte so aussehen:
<a href="calendar.php?month=' . $a_eventtime[1]. '">'. $a_eventtime[2].".".$a_eventtime[1]." ".$event['eventsubject'].'</a>';
Ich hoffe, das stimmt so.
Gruß
Jürgen s.
MrNase schrieb am 09.03.2004 um 23:32 Uhr
So hat es bei mir nicht funktioniert :)
Jürgen S. schrieb am 10.03.2004 um 06:38 Uhr
So wie in der 005 oben beschrieben läuft es bei mir. Allerdings in der 2,84
Gruß
Jürgen S.
MAGIX schrieb am 10.03.2004 um 12:23 Uhr
Junge Junge MrNase da fehlt
powered by ThWboard tse tse.
MrNase schrieb am 10.03.2004 um 17:15 Uhr
ja? Dann mach ma deine Augen auf und den Kopf zu.
Dr.HDi schrieb am 11.03.2004 um 00:07 Uhr
Vorsicht !
CURDATE( ) ist davon abhängig, in welchen Kontext die Funktion benutzt wird (vgl. http://www.mysql.de/doc/de/Date_and_time_functions.html).
Am sichersten ist folgendes:
... = thwb_query("select *
from " .$pref. "calendar
where UNIX_TIMESTAMP(eventtime) >= UNIX_TIMESTAMP(CURDATE())
and eventactive = 1
LIMIT 1");
MAGIX schrieb am 11.03.2004 um 08:44 Uhr
MrNase postete
ja? Dann mach ma deine Augen auf und den Kopf zu.
obwohl wir uns schon seid längerem kennen bitte ich doch weiterhin um einen freundlichen Umgangston. Oder ist der auch abgeschafft worden?
Jürgen S. schrieb am 11.03.2004 um 11:37 Uhr
Hallo,
wie gepostet läuft bei mir die Abfrage so
$r_events = thwb_query( "SELECT * FROM " . $pref . "calendar
WHERE eventtime>= CURDATE( )
ORDER BY eventtime ASC LIMIT 1" );
Das macht er auch ganz anstandslos. In der MySQL ist das Eventdatum ja auch in der Form JJJJ-MM-TT abgespeichert.
Gruß
Jürgen S.
Seite 1 von 1