Tag 16 – Zusatzklassen

So bald habe wir es geschafft alle Klassen zu beschreiben. Es fehlen jetzt nur noch 2 Hilfsklassen. Auf der einen Seite ist das die „Date“-Klasse und auf der anderen die „Editor“-Klasse.

Date Class

Als erstes nun die „Date“-Klasse. Sie hat im gesamten System die wohl kleinste Rolle, denn sie managt die Konvertierung von einer internationalen Schreibweise der Zeit (YYYY-MM-DD HH:MM:SS +00:00) in eine deutsche Schreibweise. Dabei unterscheide ich 2 verschiedene Ausgaben. Einmal ist das die Kurzschreibweise des Datums (DD. MM. YYYY) und dann noch die umfangreichere Schreibweise (Tag. Monatsname Jahr).

  1. class Date
  2. {
  3. static $formatShort;
  4. static $formatLong;
  5. static function setShortFormat($format)
  6. {
  7. self::$formatShort = $format;
  8. }
  9. static function setLongFormat($format)
  10. {
  11. self::$formatLong = $format;
  12. }
  13. static function getShortFormat($date)
  14. {
  15. $ts = strtotime($date);
  16. return strftime(self::$formatShort, $ts);
  17. }
  18. static function getLongFormat($date)
  19. {
  20. $ts = strtotime($date);
  21. return strftime(self::$formatLong, $ts);
  22. }
  23. }

Um die Darstellung des Formates schnell ändern zu können wird diese in der Konfiguration abgespeichert und kann dadurch jeder Zeit geändert werden.

  1. [Application]
  2. dateformatlong = „%d. %B %Y“
  3. dateformatshort = „%d. %m. %Y“

Ich habe mich bewusst hier für statische Methoden entschieden, um schneller auf die Konvertierungen zuzugreifen. So bekomme ich mit dem Befehl „Date::getLongFormat()“ und dem übergebenen Zeitstempel direkt die deutsche Schreibweise.

Editor Class

Um die Texte online besser editieren zu können habe ich mich für FCKeditor als WYSIWYG-Editor, also als Online-Editor entschieden. Dadurch wird den Redakteuren die Arbeit mit REDcms erleichtert. Wobei man nicht vergessen darf dass es nur ein Hilfsmittel ist. Die Kenntnisse über HTML wird trotzdem vorausgesetzt.

In der „Editor“-Klasse, die die „FCKeditor“-Klasse des Online-Editors erweitert, wird nur während der Instanziierung verschiedene Einstellungen schon mal mit geladen. Wie z.B. wo der Editor gespeichert ist, wo die Konfiguration zu finden ist, bzw. welche Sprache der Editor benutzen soll.

  1. class Editor extends FCKeditor
  2. {
  3. function __construct( $instanceName )
  4. {
  5. parent::__construct( $instanceName );
  6. $this->BasePath = BASEURL.‚/fckeditor/‘;
  7. $this->ToolbarSet = ‚REDcms‘;
  8. $this->Config[„CustomConfigurationsPath“] = BASEURL.„/templates/scripts/myEditorConfig.js“;
  9. $this->Config[‚DefaultLanguage‘] = ‚de‘;
  10. $this->Height = 400;
  11. $this->Config[‚LinkBrowser‘] = true;
  12. }
  13. function __destruct(){}
  14. }

Downloads

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.