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] &nbsp; $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