Vordefinierte Überprüfungsfunktionen

Die im Folgenden aufgeführten Überprüfungsfunktionen sind im Lieferumfang von Fiona enthalten. Sie können sie auch als Vorlage für eigene Funktionen verwenden.

Quelle: shareScriptDir/cm/serverCmds/completionCheck.tcl

Bildgrößenüberprüfung mit ::check::imageSize

Die Funktion ::check::imageSize ermittelt die aktuelle Bildgröße und delegiert die Überprüfung an die angegebenen Funktionen sizeCheckNameN aus dem Namespace ::check::images.

Diese Funktionen werden mit width, height sowie allen Parametern aus sizeCheckArgsN aufgerufen.

Syntax

::check::imageSize contentId sizeCheckName1 sizeCheckArgs1 ...

Beispiel

::check::imageSize $contentId sizes {100x40 100x80}

Dies entspricht dem folgenden Aufruf:

::check::images::sizes [content withId $contentId get width] [content withId $contentId get height] {100x40 100x80}

Dieser Aufruf vergleicht die übergebenen Größenangaben mit den zulässigen Angaben aus der Liste. Ist die Bildgröße darin nicht enthalten, wird eine entsprechende Meldung zurückgeliefert.

Konfigurationsmöglichkeiten

Die Meldungen der Überprüfung können an die eigenen Erfordernisse angepasst werden. Hierzu gibt es zwei Möglichkeiten:

  1. Die Meldung wird statisch als letzter Parameter angegeben:

    completionCheck {
      ::check::imageSize sizes {{100x80} "Das Bild hat nicht die richtigen Abmessungen"}}
  2. Die Meldung wird über den Lokalisierungs-Key lokalisiert:

    namespace eval ::check::images {
      localizer add de $illegalImageSize "Nur die Bildgrößen %sizes% sind erlaubt."
      }

Erweiterungsmöglichkeiten

Weitere Bildgrößenüberprüfungen können analog zur Definition der Überprüfung sizes im Namespace ::check::images definiert werden und stehen anschließend auch über die Hilfsfunktion ::check::imagesSizes zur Verfügung.

Linklisten-Wertüberprüfungen mit ::check::links

Analog zur Hilfsgfunktion ::check::imageSizes können mit ::check::links die Links im angegebenen Linklistenfeld überprüft werden.

Dies geschieht durch Aufruf der eigentlichen Linklisten-Überprüfungsfunktionen ::check::links::linklistCheckNameN. Diese erhalten als Argumente:

  • den Feldnamen des Linklisten-Feldes
  • die Link-IDs des Linklisten-Feldes
  • die flache Liste der weiteren, angegebenen Argumente

Syntax

::check::links contentId linklistCheckName1 linklistCheckArgs1 ...

Beispiel

completionCheck {
  ::check::links teaserLinks min 2 max 4 targetObjClasses Teaser} {::check::links relatedLinks max 5}

Dies ruft für das Linklistenfeld teaserLinks nacheinander die drei Überprüfungsfunktionen ::check::links::min (mit dem weiteren Argument 2), ::check::links::max (mit dem weiteren Argument 4) und ::check::links::targetObjClasses (mit dem weiteren Argument Teaser) auf. Anschließend wird für das Linklisten-Feld relatedLinks die Überprüfungsfunktion aufgerufen. Alle von den Überprüfungsfunktionen (als Liste) zurückgegebenen Meldungen werden in einer Liste gesammelt und beim Verlassen des Vollständigkeitschecks an den CM zurückgegeben.

Der eigentliche Aufruf ist dabei im Falle von targetObjClasses beispielsweise ::check::links::targetObjClasses "teaserLinks" {2009 2010} "Teaser".

Konfigurations- und Erweiterungsmöglichkeiten

Seit CMS Fiona 6.7 können Linklisten-Größenbeschränkungen und Linkziel-Restriktionen auch direkt in der Felddefinition angegeben werden. Auf den Aufruf der Funktionen min, max, count und targetObjClasses können Sie dann verzichten, wenn für alle Vorlagen, die die betreffende Linkliste enthalten, identische Restriktionen gelten.

Die Liste der Link-Überprüfungen kann analog zu ::check::imageSize erweitert werden. Beachten Sie hierbei bitte die Parameterliste und den Rückgabewert. Die Funktionen müssen im Namespace ::check::links im Safe-Interpreter definiert werden.