Hallo Barksalot,
boay ey, dein HTML ist echt etwas Besonderes. Diese ganzen manuellen Styles machen es unübersichtlich und es scheint auch einiges redundant zu sein.
Die Farben, die Du aus der DB holst, musst Du natürlich per style-Attribut hinzufügen. Der Rest ist eigentlich immer konstant und gehört in eine CSS Datei.
Ich verstehe allerdings ein paar Details nicht. Teils liegen sie in deiner Fachlichkeit.
- Deine Akrobatik, um den Wochentag des kt_datum zu bestimmen, verstehe ich nicht. Eigentlich kann strtotime() Datümer im Format yyyy-mm-dd automatisch verarbeiten. Einziger Grund für deine manuelle Behandlung könnten kt_datum Inhalte sein, die das Jahr zweistellig enthalten. Das würde strtotime durcheinander bringen. HAST DU SOWAS? Wenn ja, bereinige die DB...
- Das div, das einen Termineintrag einschließt, hat für "datum=datum_von und ganztags=0" keine Höhe, für "datum=datum_von und ganztags!=0" ein
min-height:37px
und für "datum!=datum_von" einheight:37px
. Das muss alles so sein? Was bedeutet "datum=datum_von"? Erster/Einziger Tag eines Termins? Dann sollte das div eine Klasse "first-day" oder so bekommen. Für Ganztags eine Klasse "full-day". Und dann kannst Du die Höhen per Stylesheet steuern. Deine td für die Kalenderzellen haben ".testEintrag" Klassen, die könnte man als Anker nehmen (wobei testEintrag nach einem Rename ruft...).
td.testEintrag .first-day:not(.full-day) {
min-height: 37px;
}
td.testEintrag :not(.first-day) {
height: 37px;
}
- Der mittlere Block (Datum=Tagesdatum, Ganztags!=0: Wenn k_auto leer ist, prüfst Du ob die Jobnummer leer ist und lässt sie dann weg. Ansonsten würdest Du auch eine leere Jobnummer ausgeben. Ist die Jobnummer garantiert gefüllt, wenn in k_auto was drinsteht, so dass diese Prüfung da irrelevant ist?
- Die Links im letzten Block (der Teil, wenn das Datum nicht das Tagesdatum ist): Nur da sind die Links in einen span eingehüllt. Warum ist das nötig?
Abgesehen davon habe ich die grundlegende Refaktorierung jetzt durch 😀. Geht sicher noch mehr, aber erstmal warte ich auf deine Antworten. Die Wochensteuerung kommt als nächstes, dafür brauche ich aber Zeit die ich am So+Mo nicht habe. Wird frühestens Di Abend was.
Rolf
--
sumpsi - posui - clusi
sumpsi - posui - clusi