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
::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 sizeCheckArgs
N
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:
Die Meldung wird statisch als letzter Parameter angegeben:
completionCheck { ::check::imageSize sizes {{100x80} "Das Bild hat nicht die richtigen Abmessungen"}}
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.
::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::
linklistCheckName
N
. Diese erhalten als 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.