MyBB.de Forum

Normale Version: Ereignisse auf Startseite nicht sichtbar
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4 5
hallöchen,

ich habe gerade das plugin "Ereignisse auf Startseite" installiert und aktiviert im theme coolred, aber leider sehe ich da nicht wirklich etwas.
liegt das hier auch wieder am theme das dort eine variable fehlt oder bin ich nur blind?
und gleich noch eine 2. frage hintendran, ist es bei dem plugin auch möglich das man die ereignisse schon ab 7 tage vorher oder so sehen kann?
zb so : 7 tage noch bis chattreffen ist.....

Gruß kai
also die ereignisse gehen nun aufeinmal.

aber wie sieht es mit frage 2 aus :-) jemand eine idee wie man das machen kann oder schon jemand an so einem plugin dran?

Gruß kai
Du möchtest also wie einen Counter "7 Tage bis zum Chat" und am nächsten steht dann eben "6 Tage bis zum Chat" und das automatisiert?
Soweit ich weiß gibt es kein solches Plugin. Aber wenn du mal Google durchsuchst, findest du viele kleine Javascripte die das realisieren könnten und die du dann eben in ein BoardMessage Plugin einbauen könntest.
Zitat:und gleich noch eine 2. frage hintendran, ist es bei dem plugin auch möglich das man die ereignisse schon ab 7 tage vorher oder so sehen kann?
zb so : 7 tage noch bis chattreffen ist.....
Wie Scorpio schon sagte, ein Plugin gibts dafür wohl nicht !

Aber Probier es mal mit folgendem Script !
Musst aber noch anpassen, damit die zeiten stimmen.

Ich kann dir keine Garantie geben das es Funtzt !
Aber einmal probieren ist es wert.

Code:
<script language="JavaScript">
    var jahr=2006, monat=1, tag=27, stunde=22, minute=0, sekunde=0; // Ziel-Datum in MEZ
    var zielDatum=new Date(jahr,monat-1,tag,stunde,minute,sekunde);

    function countdown() {
        startDatum=new Date(); // Aktuelles Datum

        // Countdown berechnen und anzeigen, bis Ziel-Datum erreicht ist
        if(startDatum<=zielDatum)  {

            var jahre=0, monate=0, tage=0, stunden=0, minuten=0, sekunden=0;

            /* Allgemeines Vorgehen:
             * Zunächst werden die vollen Jahre gezählt
             * und anschließend der Start- und Ziel-Monat auf den jeweiligen 1. gesetzt.
             * Nun werden erst die vollen Monate vom 1. zum 1. des Start- bzw. Ziel-Monats berechnet
             * und danach die tatsächlichen Monatstage wieder mit einbezogen.
             * Dieses Vorgehen vermeidet Probleme mit den verschiedenen Monatslängen.
             * Die restliche Differenz zwischen Start- und Ziel-Zeit wird mit Tagen aufgefüllt und
             * was dann noch übrig bleibt, in Stunden, Minuten und Sekunden ausgedrückt.*/

            // Jahre
            if(startDatum<zielDatum) {
                while(startDatum<zielDatum) {
                    if(startDatum.setFullYear(startDatum.getFullYear()+1)<=zielDatum) jahre++;
                }
                startDatum.setFullYear(startDatum.getFullYear()-1);
            }

            // Restliche Tage zum Monatsende ermitteln
            var restTage=0;
            var m=startDatum.getMonth();
            if(m==1-1||m==3-1||m==5-1||m==7-1||m==8-1||m==10-1||m==12-1) restTage=31-startDatum.getDate();
            else if(m==4-1||m==6-1||m==9-1||m==11-1) restTage=30-startDatum.getDate();
            else if(m==2-1) {
                if(startDatum.getFullYear()%4==0 && (startDatum.getFullYear()%100!=0 || startDatum.getFullYear()%400==0)) restTage=29-startDatum.getDate(); // Schaltjahr
                else restTage=28-startDatum.getDate();
            }

            // Start- und Ziel-Tag merken und auf 1 setzen
            var startTag=startDatum.getDate();
            var zielTag=zielDatum.getDate();
            startDatum.setDate(1);
            zielDatum.setDate(1);

            // Monate
            if(startDatum<zielDatum) {
                while(startDatum<zielDatum) {
                    if(startDatum.setMonth(startDatum.getMonth()+1)<=zielDatum) monate++;
                }
                startDatum.setMonth(startDatum.getMonth()-1);
            }

            // Tatsächlichen Start- und Ziel-Tag berücksichtigen
            if(startDatum.getMonth()==zielDatum.getMonth()) {
                if(startTag<=zielTag) startDatum.setDate(startTag);
                else {
                    monate--;
                    tage=restTage+1;
                }
            }
            else {
                startDatum.setMonth(startDatum.getMonth()+1);
                if(startTag>=zielTag) tage=restTage+1;
                else {
                    monate++;
                    startDatum.setDate(startTag);
                }
            }
            zielDatum.setDate(zielTag);

            // Tage
            restTage=Math.floor((zielDatum-startDatum)/(24*60*60*1000));
            startDatum.setTime(startDatum.getTime()+restTage*24*60*60*1000);
            tage+=restTage;

            // Stunden
            stunden=Math.floor((zielDatum-startDatum)/(60*60*1000));
            startDatum.setTime(startDatum.getTime()+stunden*60*60*1000);

            // Minuten
            minuten=Math.floor((zielDatum-startDatum)/(60*1000));
            startDatum.setTime(startDatum.getTime()+minuten*60*1000);

            // Sekunden
            sekunden=Math.floor((zielDatum-startDatum)/1000);

            // Anzeige formatieren
            (jahre!=1)?jahre=jahre+" Jahre,  ":jahre=jahre+" Jahr,  ";
            (monate!=1)?monate=monate+" Monate,  ":monate=monate+" Monat,  ";
            (tage!=1)?tage=tage+" Tage,  ":tage=tage+" Tag,  ";
            (stunden!=1)?stunden=stunden+" Stunden,  ":stunden=stunden+" Stunde,  ";
            (minuten!=1)?minuten=minuten+" Minuten  und  ":minuten=minuten+" Minute  und  ";
            if(sekunden<10) sekunden="0"+sekunden;
            (sekunden!=1)?sekunden=sekunden+" Sekunden":sekunden=sekunden+" Sekunde";

            document.countdownform.countdowninput.value=jahre+monate+tage+stunden+minuten+sekunden;

            setTimeout('countdown()',200);
        }
        // Anderenfalls alles auf Null setzen
        else document.countdownform.countdowninput.value="0 Jahre,  0 Monate,  0 Tage,  0 Stunden,  0 Minuten  und  00 Sekunden";
    }
</script>

Sag bescheid wenn es geht !

bis gli...
greetz DaStaFlexX
also so umständlich brauche ich es nicht wirklich ,also countdown muss nicht sein, es reicht auch so:

Nächste Ereignisse:

messe in wupertal (24-3-2006)
messe in halle (26-3-2006)
messe in hamburg (27-3-2006)

aber wenn es sowas noch nicht gibt auch nicht schlimm.

@DaStaFlexX wo baue ich das denn dein? mit extra datei und dann wo reinladen oder wie geht das? ich hab leider kaum ahnung von programmieren.

gruß kai
Du könntest diese Termine auch in den Kalender im Forum eintragen.
genau das meine ich ja ich trage diese termine in den kalender ein und durch das plugin heutige ereignisse werden sie ja auf der index.php angezeigt.
aber leider nur die heutigen ereignisse im kalender, schöner wäre aber die ereignisse der nächsten 7 tage.
aber wenn das so umfangreich ist, ist es nicht so wichtig ,werde dann wohl nochmal per hand eine seite basteln und die immer aktuell halten.

Gruß kai
hab jetzt ein beispiel gefunden beim vbb gibt es sowas guckt iht mal hier http://www.hochzeitsforum.de/ ganz unten "Anstehende Termine in den nächsten 90 Tagen"
sowas meine ich :-)
Was ich dir auf die Schnelle geben kann ist ein Codeschnipsel, der noch bei mir rumfliegt, und alle Termine des aktuellen Monats zeigt.

Öffne die Datei index.php und suche nach:
PHP-Code:
eval("\$whosonline = \"".$templates->get("index_whosonline")."\";"); 
Darüber einfügen:
PHP-Code:
    ### Events des Monats auf Index ###
    
$query $db->query("SELECT * FROM ".TABLE_PREFIX."events WHERE private = 'no' AND date LIKE '%-".date("n")."-%' ORDER BY date ASC");
    
$comma "";
    while(
$events $db->fetch_array($query))
    {
    
$eventdate explode("-"$events['date']);
    
$dateline mktime(000$eventdate['1'], $eventdate['0'], $eventdate['2'], 0);
    
$nextevents .= $comma."<a href=\"calendar.php?action=event&amp;eid=".$events['eid']."\">".htmlentities($events['subject'])." (".mydate($mybb->settings['dateformat'], $dateline).")</a>";
    
$comma ", ";
    }
    
### Events des Monats auf Index ### 
Öffne danach das Template index_whosonline und füge am Ende ein:
Code:
<tr>
<td class="trow2"><span class="smalltext"><strong>Termine in diesem Monat</strong></span></td>
</tr>
<tr>
<td class="trow1"><span class="smalltext">$nextevents</span></td>
</tr>
So, habs schnell für deine Bedürfnisse umgeschrieben (allerdings nicht getestet). Smile

Öffne die Datei index.php und suche nach:
PHP-Code:
eval("\$whosonline = \"".$templates->get("index_whosonline")."\";"); 
Darüber einfügen:
PHP-Code:
    ### Events der nächsten x Tage auf Index ###
    // Anzahl der Tage
    
$futuredays "7";
    
    
$date mktime(000date("m"), date("d") + $futuredaysdate("Y"));
    
$futuredate date("j-n-Y" $date);
    
$today date("j-n-Y");
    
$query $db->query("SELECT * FROM ".TABLE_PREFIX."events WHERE private = 'no' AND date <= '".$futuredate."' AND date >= '".$today."' ORDER BY date ASC");
    
$comma "";
    while(
$events $db->fetch_array($query))
    {
    
$eventdate explode("-"$events['date']);
    
$dateline mktime(000$eventdate['1'], $eventdate['0'], $eventdate['2'], 0);
    
$nextevents .= $comma."<a href=\"calendar.php?action=event&amp;eid=".$events['eid']."\">".htmlentities($events['subject'])." (".mydate($mybb->settings['dateformat'], $dateline).")</a>";
    
$comma ", ";
    }
    
### Events der nächsten x Tage Index ### 
Füge am Ende des Templates index_whosonline ein:
Code:
<tr>
<td class="trow2"><span class="smalltext"><strong>Termine in den n&auml;chsten $futuredays Tagen</strong></span></td>
</tr>
<tr>
<td class="trow1"><span class="smalltext">$nextevents</span></td>
</tr>
Seiten: 1 2 3 4 5