Kalenderjahresansicht | Variable gesucht

10.03.2010 09:07
avatar  aemkey
#1 Kalenderjahresansicht | Variable gesucht
ae
Mitglied

Hallo zusammen
Ich greife das Thema mit der Jahresansicht des Kalenders wieder auf. Es sieht einfach nach mehr aus, wenn alle Termine in der Jahresansicht angezeigt werden

Im Kalendertemplate gibt es ja die verschiedenen Variablen cal_main_view (Monat), cal_year_view (jahr) und cal_day_view (Tag), die die verschiedenen Anzeigeblöcke umfassen.

Für das Umstellen zwischen den Ansichten sind die Variablen monthpage_link, daypage_link und yearpage_link zuständig. Diese funktionieren jedoch nur innerhalb des Kalenders, von einer anderen Seite aus aufgerufen gibt z.B. yearpage_link nur den Link zum Forum aus.

Nun hatte ich die Idee, einfach main_view und year_view auszutauschen. Dies führt aber zu einem fehlerhaften Kalender.

Es gibt allerdings die Möglichkeit, zumindest die Jahresansicht direkt über xxx.homepagemodules.de/calendar-2010.html aufzurufen (Frage an den Support: Sehe ich das richtig, dass diese Seite irgendwo generiert wird und anschliessend statisch geladen wird? Die Haupseite ist ja calendar.PHP und die Jahresansicht Html).
Dies funktioniert bei der Tagesansicht allerdings nicht, ausser man ändert jeden Tag den Link von Hand.

Könnte man deshalb von extern die Seite irgendwie mit calender.php?tag={{this_daynumber}} aufrufen? Was wären da die Parameter, die übergeben werden müssten?


 Antworten

 Beitrag melden
10.03.2010 09:42
avatar  aemkey
#2 RE: Kalenderjahresansicht | Variable gesucht
ae
Mitglied

Und dann hätte ich nochmals eine Frage. In der Jahresansicht möchte ich, dass vor dem Namen des Termins auch noch das Datum angezeigt wird. Auf den Namen greift man mit {{popularevents:name}} zu, wie ist dann die Syntax für das Datum?
{{popularevents:date}} funktioniert nicht.


 Antworten

 Beitrag melden
10.03.2010 14:44
avatar  gustav
#3 RE: Kalenderjahresansicht | Variable gesucht
gu
Technik

Die entsprechende Seite der Tagesansicht wird mit /calendar-YYYY-MM-DD.html aufgerufen. Wenn Sie das Template verändern können Sie eine kleine JavaScript Funktion schreiben, die Sie auf die entsprechende Seite umleitet - da ist auch der aktuelle Tag denkbar...

Für da Datum in der Jahresansicht gibt es verschiedene Variablen:

{{popularevents:start_time}}
{{popularevents:end_time}}

Bei müssen mit |dateformat formatiert werden um Sie richtig anzuzeigen.

Xobor Forum-Software · Template Entwicklung, Frontend-Entwicklung · Werde Fan auf unserer Xobor-Facebook Seite


 Antworten

 Beitrag melden
10.03.2010 14:56
avatar  aemkey
#4 RE: Kalenderjahresansicht | Variable gesucht
ae
Mitglied

Danke für die Antwort. Nun sieht die Jahresansicht noch übersichtlicher aus, weil man auf einer Seite alle Daten hat.

Werde mich dann mal dranmachen, die Javascript-Funktion zu schreiben.

Nochmals danke für die schnelle Antwort.


 Antworten

 Beitrag melden
10.03.2010 15:13
avatar  aemkey
#5 RE: Kalenderjahresansicht | Variable gesucht
ae
Mitglied

Und schon das nächste Problem .
Habe nun nach dem Einfügen des Datums gemerkt, dass die Reihenfolge sehr beliebig ist innerhalb des Monats, zuerst der 26. dann der 28. und dann der 27. zum Beispiel. Alphabetisch ist es auch nicht.
Daher die Frage: Gibt es für {{allmonths:popularevents.startlist}} eine Sortierfunktion? Diese Funktion gibt ja nacheinander die Events aus, das müsste also eigentlich schon beim Aufruf möglich sein. Die interne Sortierung habe ich auf alle Fälle noch nicht ganz durschaut. Und per Javascript im Nachhinein erscheint mir da doch sehr mühselig...


 Antworten

 Beitrag melden
11.03.2010 10:45
avatar  gustav
#6 RE: Kalenderjahresansicht | Variable gesucht
gu
Technik

Für die Events wird, wenn ich mich richtig erinnere, ein "Score" errechnet - umso mehr Kommentare oder teilnehmende Nutzer ein Event hat, umso weiter oben steht es. Sortieren kann man es so leider nicht - das wäre auch nur über JavaScript möglich, aber relativ aufwendig, wie ich das einschätze.

Xobor Forum-Software · Template Entwicklung, Frontend-Entwicklung · Werde Fan auf unserer Xobor-Facebook Seite


 Antworten

 Beitrag melden
11.03.2010 11:43
avatar  aemkey
#7 RE: Kalenderjahresansicht | Variable gesucht
ae
Mitglied

Danke für die Antwort. Da bleibt mir in dem Fall nichts anderes übrig, als zu programmieren. Immerhin kann ich ja das Datum ausgeben und von diesem Ausgehen.
Das wird wohl schon irgendwie klappen;)
Wenn ich was habe, werde ich mich melden.

PS: Ohne irgendwer kritisieren zu wollen, erscheint mir die aktuelle Sortierung doch sehr unsinnig. Vielleicht könnte man das mal ändern. Aber da nur wenige die Jahresansicht nutzen, hat das bis jetzt wohl noch niemanden gestört. Mir eilts nicht, ich bastle selber auch gern;)


 Antworten

 Beitrag melden
11.03.2010 14:43 (zuletzt bearbeitet: 11.03.2010 14:46)
avatar  aemkey
#8 RE: Kalenderjahresansicht | Variable gesucht
ae
Mitglied

So, das wäre geschafft. Falls noch jemand die Funktion einbauen möchte, einfach den Teil von {{allmonths:popularevents.startlist}} bis {{allmonths:popularevents.endlist}} löschen und folgenden Code einsetzen.



<script type="text/javascript">

function Numsort (a, b) {
var tmp1 = parseInt( a[0] );
var tmp2 = parseInt( b[0] );
return tmp1 > tmp2 ? 1 :
tmp1 < tmp2 ? -1 :
a[0] > b[0] ? 1 :
a[0] < b[0] ? -1 :
0;
}

events = new Array();

{{allmonths:popularevents.startlist}}
var angaben= new Array("{{popularevents:start_time|dateformat(d.m.)}} ","<a href='{{popularevents:event_link}}' style='text-transform: capitalize; text-decoration: none;'>{{popularevents:name}}</a> ");
events.push(angaben);
{{allmonths:popularevents.end}}

var eventssort = events.sort(Numsort);

for (anlass in eventssort) { //brauchts nur, um das Komma zwischen Datum und Anlassname zu ersetzen
eventssort[anlass] = eventssort[anlass].join(" ");
}
document.write( "<small>"+eventssort.join("<br>")+"</small>");

</script>


Vielleicht gäbe es noch schnellere und einfachere Lösungen, aber es funktioniert.
Zeitanzeige etc könnte man einbauen, falls gewünscht.


 Antworten

 Beitrag melden
Bereits Mitglied?
Jetzt anmelden!
Mitglied werden?
Jetzt registrieren!