Handbuch calladium® CMS
CMS Version 6.230928.1 2023.09.28
Flexible Objektnamen
Ein Objekt wird im Objektbaum, in Objektlisten oder im Kopierspeicher durch den Namenstext seiner Klasse dargestellt. Dieser Text kann vom Objekt abhängig sein, wobei es eine wichtige Konvention ist, dass der Anfang des Textes immer klar und da, wo das Objekt auftreten kann, eindeutig die Klasse zeigt.
Wenn Sie Klassen definieren, so können sie den Namenstext durch Werte des Objektes flexibilisieren. So erkennt man nicht nur, von welcher Klasse das Objekt ist, sondern zB. welchen ID-Namen, welche Ausmasse oder anderen Werte ein Objekt hat. Die Einblendung der Werte geschieht mit $-Makros. Da nach der Konvention der Anfang des Namenstextes konstant sein muss, enthält jeder Namenstext als erstes das Makro "$-". Dieses Makro bedeutet, dass alles davor der konstante Anteil des Klassennamens ist, wie er zB. in Auswahllisten für neue Objekte zu sehen ist. Nur für Objekte wird der Teil nach dem "$-" ausgewertet, um den flexiblen Objektnamen zu erhalten.
In der nachfolgenden Liste der Makros sind die Makros fett dargestellt, Parameter des Makros [so]. Folgende Makros stehen zur Verfügung:
-
$- : Trennt den konstanten Anteil davor von dem flexiblen Anteil danach. Muss immer als erstes in flexiblen Objektnamen auftreten.
-
$$ : Das Zeichen "$" selbst - es soll ja ausdrückbar sein.
-
$v[Attributname]; : Stellt den direkten Wert (value) des Attributes dar. Der direkte Wert ist der intern gespeicherte Wert eines Attributes. Er fällt oft, aber nicht immer mit dem angezeigt Wert überein. Beispielsweise mag der interne Wert einer Auswahlliste 3 sein, während er im Objekt in Deutsch als "zentriert" und in Englisch als "centered" dargestellt würde.
-
$t[Attributname]; : Stellt den angezeigten Wert (title) des Attributes dar. Der angezeigte Wert entspricht dem, wie das Attribut im Objekt dargestellt wird.
-
$T[Attributname]; : Wie $t, aber lässt bei Objekten einen für alle Objekte dieser Klasse konstanten Anfang weg (also alles vor $-, falls genutzt). Ab Version 6.230928.1 .
-
$s[/][pre][/][post][/][Attributname]; : Stellt ein Attribut bedingt dar. Wichtig ist hier das einzelne Zeichen [/], das als Separator (separator) eingeführt wird (ganz analog zum ersten Zeichen bei preg-Ausdrücken). Sie bestimmen das Zeichen als erstes Zeichen nach "$s" und Sie können es frei wählen (oft nimmt man nach Konvention "/"). Es wird dann im Weiteren noch ein- bis zweimal erwartet, danach der Name des Attributes (kommt es nur einmal vor, gilt [post] als leer). Das Attribut wird nun zunächst nach dem Makro $t ausgewertet. Ist es leer (""), so wird nichts eingeblendet. Ansonsten wird zuerst [pre], dann der Anzeigewert des Attributes und danach [post] angezeigt. [pre] oder auch [post] können leer sein.
-
$S[/][pre][/][post][/][Attributname]; : Funktioniert wie $s, nur dass die Anzeigebedingung ist, dass der interne Wert als Zeichenkette (string) gedeutet nicht "" ist.
-
$e[/][pre][/][post][/][wennLeer][/][Attributname]; : Funktioniert wie $s, nur dass bei leerem Wert [wennLeer] angezeigt wird. Verfügbar seit Version 4.494 bzw. 5.254 .
-
$n[/][pre][/][post][/][Attributname]; : Funktioniert wie $S, nur dass die Anzeigebedingung ist, dass der interne Wert als Zahl (number) gedeutet nicht 0 ist.
-
$b[/][pre][/][post][/][Attributname]; : Funktioniert wie $n, nur dass bei Erfüllung der Anzeigebedingung ist nur [pre] und [post] angezeigt wird, nicht aber der Wert selbst. Es gibt also nur zwei Darstellungsarten, mit oder ohne erfüllter Bedingung (boolean).
-
$c[Flags]; : Setzt für alles Folgende die Einstellung der Zahl [Flags], die sich aus der Kombination der Werte 1, 2 oder 4 zusammensetzt und anfangs 0 ist. 1 bewirkt, dass der Attributwert in HTML-Entities gewandelt wird. 4 bewirkt, dass Zeilenumbrüche in einfache Leerzeichen gewandelt werden. 2 bewirkt, dass die Zeichenkette wenn nötig auf 10 Zeichen gekürzt wird. Die Operationen werden wenn in dieser Reihenfolge getätigt.
-
$p[/][Name][/][Wert][/] : Setzt den Parameter [Name] auf den Wert [Wert]. Wenn am Ende [Wert][/] weggelassen wird, so entspricht dies dem Zurücksetzen auf den Standardwert. Verfügbar seit Version 4.397 bzw. 5.139 .
-
$o[Modus] : Ruft die Objektmethode get_tit_part() des Objektes, dessen Titel bestimmt werden soll, mit dem Modus als Parameter auf. Der Rückgabewert wird dann genutzt. Ist diese Methode nicht implementiert, so wird die leere Zeichenkette verwendet.