erstmal Danke für die großartig gelungene groupware.
Infolog, Adressbuch, Dateiverwaltung und Kalender machen das Leben doch sehr viel leichter im Alltag!
Hier meine Frage:
Ich habe den Kalender via eTemplate ein wenig angepaßt. (neue Spalten (KFZ, Technische Leitung, Sonstiges) hinzugefügt)
Wird auch in die DB geschrieben und gelesen - alles super.
Nun versuche ich aus der Listenansicht einen “Arbeitsplan” zu machen, der nur bestimmte Spalten enthält. Das habe ich auch soweit alles schon gemacht.
In der ersten Spalte steht das Start- und das Enddatum, allerdings hätte ich gerne noch eine Spalte davor, in der nur der Wochentag (Montag, Dienstag, etc.) erscheint.
Ich hab herusgefunden, dass eine Spalte vom Typ “Datum” mit “${row}[start]” als Name und “,16” als “Option” das Datum mit dem Wochentag davor ausgibt.
Wie aber kann ich nur den Wochentagnamen bekommen? Gibt es dafür auch eine Option?
Und wenn ja, gibt es dazu noch eine Möglichkeit die Samstage und Sonntage farblich anders zu gestalten als den Rest der Woche?
Freue mich über jede hilfreiche Antwort
Gruß
Shorty
P.S.:Gibt es eine Dokumentation über die Optionen die “übergeben” werden können?
(wie z.B.: ,noPrint ,noShow ,noWrap etc.)
erstmal Danke für die großartig gelungene groupware.
Infolog, Adressbuch, Dateiverwaltung und Kalender machen das Leben doch sehr
viel leichter im Alltag!
Hier meine Frage:
Ich habe den Kalender via eTemplate ein wenig angepaßt. (neue Spalten (KFZ,
Technische Leitung, Sonstiges) hinzugefügt)
Wird auch in die DB geschrieben und gelesen - alles super.
Nun versuche ich aus der Listenansicht einen “Arbeitsplan” zu machen, der
nur bestimmte Spalten enthält. Das habe ich auch soweit alles schon gemacht.
In der ersten Spalte steht das Start- und das Enddatum, allerdings hätte ich
gerne noch eine Spalte davor, in der nur der Wochentag (Montag, Dienstag,
etc.) erscheint.
Ich hab herusgefunden, dass eine Spalte vom Typ “Datum” mit "${row}[start]"
als Name und “,16” als “Option” das Datum mit dem Wochentag davor ausgibt.
Wie aber kann ich nur den Wochentagnamen bekommen? Gibt es dafür auch eine
Option?
Nein, bisher nicht.
Du mußt den dow (day of week) Wert in der get_rows Methode zB. mittels
date() berechnen und in die entsprechende Zeile schreiben. Dann kannst
du ein readonly Wochentagsauswahl benutzen um es anzuzeigen.
Und wenn ja, gibt es dazu noch eine Möglichkeit die Samstage und Sonntage
farblich anders zu gestalten als den Rest der Woche?
Geht so ähnlich: Du trägst die für jede Zeile in der get_rows Methode,
abhänig vom Wochentag eine css Klasse ein. Die verwendest du dann im
Template statt der dort eingetragen “row” (2 Farben abwechselned).
Freue mich über jede hilfreiche Antwort
Gruß
Shorty
P.S.:Gibt es eine Dokumentation über die Optionen die “übergeben” werden
können?
(wie z.B.: ,noPrint ,noShow ,noWrap etc.)
Das sind einfache CSS Klassen aus calendar/templates/default/app.css
Ralf
Ralf Becker
eGroupWare Training & Support ==> http://www.egroupware-support.de
Outdoor Unlimited Training GmbH [www.outdoor-training.de]
Handelsregister HRB Kaiserslautern 3587
Geschäftsführer Birgit und Ralf Becker
Leibnizstr. 17, 67663 Kaiserslautern, Germany
Telefon +49 (0)631 31657-0
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
Das mit einem readonly Wochentagsauswahlfeld zu machen hatte ich mir schon gedacht, und es ehrlich gesagt schon (natürlich) ohne Erfolg versucht, da ich den dow wohl erst selbst “herausfinden” muß.
Hab mich mit einigen Programmiersprachen schon auseinandergesetzt, allerdings noch nicht so wirklich mit php.
Habe das gesamte egroupware-Verzeichnis nach einer get_rows-Methode durchsucht, allerdings taucht dieser Begriff nur in der eTemplate Dokumentation auf.
Hast Du vielleicht noch einen weiteren Hinweis wie ich die Berechnung genau machen kann?
Ändere ich etwas im Code, oder geht es von eTemplate aus?
get_rows im Feld “Name” oder “Optionen”!?!
Eine neue Funktion schreiben und via eTemplate aufrufen!?!
Ich habe versucht das zu tun, was du beschrieben hast, aber leider ohne Erfolg…
Ralf Becker-3 wrote:
Geht so ähnlich: Du trägst die für jede Zeile in der get_rows Methode,
abhänig vom Wochentag eine css Klasse ein. Die verwendest du dann im
Template statt der dort eingetragen “row” (2 Farben abwechselned).
Ich habe in eTemplate unter “Attribute der Tabellenzeile” “mW” (für ‘myWeek’) als “Class” eingetragen.
Allerdings verstehe ich nicht ganz wie ich jedem Tag eine andere Klasse zuweisen kann.
in “app.css” habe ich Folgendes hinzugefügt: (angelehnt an calTimeRowOff)
Eine Abfrage ist ja eigentlich auch nicht so schwierig:
Da ich den $dow ja schon habe (siehe vorheriges Posting) nutze ich einfach switch um…tja…wie die Klasse zuzuweisen?
Da ich im Template als Class “mW” eingetragen habe, werden alle Reihen in Stil “mW” (also weiß) dargestellt.
Wenn der $dow nun 0 oder 6 (Sonntag oder Samstag) ist, würde ich gerne die “mWE” (myWeekEnd) zuweisen. Aber wie?
switch ($dow) {
case 0:
…
break;
case 6:
…
break;
}
Habe es nach unzähligen Versuchen hinbekommen und der Vollständigkeit halber (gibt nichts schlimmeres als "Danke ich hab’s selbst herausgefunden’ in einem Forumals letzten Post) hier meine Lösung.
Im Template habe ich als “Class” folgendes eingetragen:
$row_cont[mdow]
Damit geht es denn nun endlich.
In Abänderung zu meinem vorigen Post, habe ich für die Wochentagberechnung das Array mit den englischen Wochentagnamen gefüllt, da sie ja von egroupware übersetzt werden.
Sieht also so aus: