Dokumentation contentXXL CMS Version 5.3

 

 
 

ALLGEMEINE PLATZHALTER

Hinweis: Diese Platzhalter können in den meisten Objekttemplates (Ausnahmen siehe unten), nicht aber in Seitentemplates verwendet werden.

Platzhaltername

Platzhalterbeschreibung

[mvif:fieldname:operator:value]

mvif = make visible if. Die Anweisung schaltet ein HTML-Element sichtbar, wenn die Bedingung erfüllt ist. Mit diesem Platzhalter haben Sie die Möglichkeit, einen Feldwert aus der Datenbank mit einem beliebigen Wert im Template zu vergleichen und damit das umgebende HTML-Element (meist <span> oder <div>) sichtbar oder unsichtbar zu setzen.

Operatoren:
neq = ungleich
eq = gleich
gt = größer als
lt = kleiner als

Beispiel:
<span [mvif:previewimage:neq:0]>...</span>

Das Feld previewimage beinhaltet die RAID (RessourceAssignID) des Vorschaubilds. Wenn kein Vorschaubild ausgewählt wurde, ist diese 0. Auf diese Weise können Sie überprüfen, ob das Vorschaubild gesetzt ist oder nicht und die Ausgabe auf der Website entsprechend gestalten.

[mvifci:itemname:operator:value]

mvifci = make visible if context items (Schalte ein Element sichtbar, sobald die Bedingung für das angegebene context.item erfüllt ist). Gleiche Funktionalität wie mvif, nur mit dem Unterschied das Sie hier die context.items (siehe unten) abfragen können

[mviflang:languageid]

mviflang = make visible if language (Schalte ein Element sichtbar, sobald die Bedingung erfüllt ist). Gleiche Funktionalität wie mvif, nur mit dem Unterschied, dass Sie hier auf eine bestimmte Sprache abprüfen können. Damit können unterschiedliche Texte für verschiedene Sprachen realisiert werden.

Beispiel:
<span [mviflang:1]>...</span> (Deutscher Text)
<span [mviflang:2]>...</span> (Englischer Text)

[mvifdatediff:
interval:
fieldname1:
fieldname2:
operator:value]

Vergleicht zwei Datumsfelder

Intervalle:
d = Tag
y = Tag
h = Stunde
n = Minute
m = Monat
q = Quartal
s = Sekunde
w = Woche
ww = Kalenderwoche
yyyy = Jahr

Beispiel:
[mvifdatediff:yyyy:publish_start:publish_end:eq:1]

Die Ausgabe sollte nur angezeigt werden, wenn der Datumsunterschied zwischen plublish_start und publish_end nicht größer als ein Jahr ist.

[mvifdatediffnow:
fieldname:
interval:
operator:
value]

Gleiche Funktionalität wie mvifdatediff, nur das anstatt des zweiten Datums mit dem aktuellem Datum.

[mvifnotactualportal:fieldname]

Vergleicht die aktuelle PortalID mit dem Wert aus der Datenbank. (in diesem Feld wird die originale PortalID des Inhalts erwartet. Das Kommando trifft also nur für gesharte Inhalte zu).

[date:fieldname:format]

Wenn es sich bei dem Feldnamen um ein Datumsfeld handelt, kann dieses formatiert werden. Die Formatierungsmöglichkeiten finden Sie hier.

[now:format]

Gleiche Funktionalität wie date:: , verwendet allerdings das aktuelle Datum.

[tnl:fieldname]

tnl = transform new line. Wenn ein Text Carriage-Returns beinhaltet, werden diese mit dem HTML-Tag < BR > ersetzt. Der Platzhalterbefehl kann auch in der Langform [transformnewline:fieldname] verwendet werden.

[trimat:fieldname:trimpos]

Kann verwendet werden, um lange Texte ab einer bestimmten Position abzuschneiden.

Beispiel:
[trimat:preview:50]

Die Ausgabe zeigt den Vorschautext an. Ist dieser länger als 50 Zeichen, wird der Rest abgeschnitten und drei Punkte eingefügt, um dies anzuzeigen.

[httpencode:fieldname]

Konvertiert die Ausgabe HTML-codiert für Anführungszeichen („“) und das kaufmännische Und (&)

Beispiel:

Aus „&“ wird „&amp;“

[template_start]

Sie können diesen Platzhalter verwenden, um einen speziellen Startpunkt für Ihr Template zu definieren. Diese Funktion ist nützlich wenn Sie nur ein schließendes Tag benötigen, der WYSIWYG-Editor aber automatisch das öffnende Tag mit erstellt.

Beispiel:

<div class="footertemplate">[template_start]</div>

[template_end]

Gleiche Funktionalität wie template_start, nur das hier das Ende des Templates markiert wird.

Beispiel:

<li class="whatever"> [template_start]</li> <li>[template_end]</li>

Dieses Beispiel ist z.B. nützlich für Navigationsmodule, welche Listitems im Spacer-Template öffnen und schließen müssen.

[val:DataItem]

Mit dem val-Platzhalter können Sie jedes Datenfeld ihrer Datenquelle abrufen.

Ist zum Beispiel ein Platzhalter wie [itemid] in der Dropdownliste des jeweiligen Objekttemplates nicht vorhanden, Sie aber wissen, dass er in Ihrer Datenquelle exisitiert,  können Sie einfach [val:itemid] verwenden.

[pagebreak]

Dieser Platzhalter kann im WYSIWYG-Editor verwendet werden, um die Darstellung eines Textes auf mehrere Seiten zu verteilen. In Kombination mit dem Pagermodul wird der Text auf der aktuellen Seite bis zu diesem Platzhalter angezeigt, das Pagermodul zeigt dann die Links zu den nächsten Seiten an.

[module:moduleid]

Mit diesem Platzhalter können Sie ein beliebiges Modul in Ihr Template einbinden (zum Beispiel ein verknüpftes Modul in das Detailansichtstemplate). Der moduleid-Parameter steht für die ID des Moduls, welches Sie einbinden möchten.

[module:moduleid:globalid]

Analog zum vorherigen Platzhalter, mit dem Unterschied des zweiten Parameters. Er gibt das Datenbankfeld an, welches die globalid für die Verknüpfung enthält. Hierdurch können verknüpfte Kategorien auch in der Listenansicht genutzt werden.

[ci:id]

Mit diesem Platzhalter können Sie auf die im jeweiligen Kontext verfügbaren context.items in Ihrem Template zugreifen (sehen Sie hierzu auch[mvifci:::]). Die id muss mindestens aus 3 Zeichen bestehen.

Beispiel:

Jeder Seite kann ein Seitenthema zugeordnet werden.
Um verschiedene Farbschemen in Ihrem Template
abhängig von der jeweiligen Seite zu verwenden, können Sie hiermit die Namen Ihrer css-Klassen dynamisch erstellen :

< div class="background[ci:theme]" >< /div >

[ci:theme] ist der dem Thema zugeordnete Zahlenwert aus der Datenbank. Es müssen also Klassen wie background1, background2 usw. definiert werden. 

[cs:id]

Mit diesem Platzhalter können Sie die speziellen Einstellungen der Moduleinstellungen auslesen (Datenbankfelder in der Tabelle "Modulesettings").

[localize:localizationkey]

Dieser Platzhalter gibt die Übersetzung des angegebenen Lokalisierungs-Schlüssels in der aktuellen Sprache aus. Näheres zur Lokalisierung finden Sie hier.

[resourceurl:raidplaceholder]

Dieser Platzhalter gibt die URL auf eine Ressource zurück. Parameter ist ein Platzhalter mit einer RAID (RessourceAssignID), z.B.:

<img src="[resourceurl:previewimage]">

 

Anmerkung:
Bitte beachten Sie, dass diese Platzhalter nicht in jeder Template-Art verfügbar sind. Dies ist der Fall bei Template-Arten, die nicht Datalist oder Repeater für die Darstellung der Inhalte verwenden (z. B. Multilevelnavigation, Categorynavigation, Modultemplates).

 

 
 

ALLE CONTEXT.ITEMS

Näheres über die in ASP.NET verfügbaren Context-Objekte finden Sie hier.

Es gibt eine große Zahl von Context.Items, die Sie in Ihren Objekt-Templates mit einem Platzhalter [ci:id] verwenden können.

[ci:id]

"actdate"

"additem"

"adminlanguageid"

"applicationpath"

"basedir"

"baseurl"

"baskettabid"

"blogmonth"

"blogyear"

"calledfrom"

"callingmodule"

"captchaok"

"categorynavigationmoduleid"

"changeitem"

"company"

"createcomment"

"cuid"

"culture"

"currentModuleID"

"currentPageIndex"

"currentPageSet"

"date"

"defaultlanguage"

"deletearticle"

"deleteitem"

"department"

"detail"

"editcomment"

"enableeditmode"

"exprsearch"

"flash"

"gallery"

"htmlversion"

"icc"

"infotext"

"infotitle"

"isdetailview"

"isindetailview"

"isinlineeditmode"

"islistview"

"IsWYSIWYG"

"lang"

"langid"

"lid"

"loginalias"

"mailcontact"

"mailcontacttabid"

"mailto"

"mayconnect"

"mdefid"

"mid"

"moduletitle"

"newsletterid"

"nid"

"noblendout"

"norobotindex"

"object"

"page"

"pagetitle"

"pathinfo"

"popupmenu"

"popupmenucontrol"

"portalid"

"portalSettings"

"portaltitle"

"post"

"pr"

"preview"

"print"

"query"

"recipient"

"recipientfirstname"

"recipientlastname"

"recipientname"

"recipienttitle"

"redirected"

"relatedbaseobject"

"relatedimagegallery"

"robotscommand"

"searchcall"

"searchcategory"

"searchid"

"searchtagid"

"SelectedView"

"selfredirection"

"sendafriend"

"sp"

"subculture"

"subject"

"tabid"

"targetid"

"tbid"

"tbid"

"tellafriend"

"tellafriendbackurl"

"tellafrienderrorcode"

"tellafriendsentto"

"tellafriendtitle"

"theme"

"tid"

"topic"

"ttid"

"UploadErrorResourceToLarge"

"useremail"

"username" '

"usertrackerdisabled"

"utdate"

"utsessionid"

"utuid"

 

Anmerkung:
Wenn Sie diese Elemente in einem Seitentemplate im Reiter HTMLverwenden wollen, können Sie darauf  mit

<%= context.items("id")  %>

zugreifen. Analog dazu können in jedem Script-Block eines Seiten- oder Objekttemplates diese Objekte mit context.items("id") angesprochen werden (das Beispiel bezieht sich auf VB).
Welche context.items verfügbar, sind hängt vom aktuellen Kontext ab. Zum Beispiel sind [ci:Username] und [ci:loginalias] nur befüllt, wenn ein Benutzer angemeldet ist. Sie können mit ein paar Zeilen Code (innerhalb eines Script-Blocks) herausfinden, welche context.items im jeweiligen Template / Seiten-Template verfügbar sind:

 

Beispiel:

For Each item As DictionaryEntry In Context.Items
If Not item.Value Is Nothing Then
Response.Write(item.Key.ToString()  & " " & item.Value.ToString()  & "<br>")
End If
Next
 

MEISTBENUTZTEN CONTEXT.ITEMS

Hier eine Übersicht der wichtigsten context.items:
 

Platzhalter

Typ

Beschreibung

[ci:theme]

Integer

Gibt das verwendete Seitenthema zurück (Seitenthemen können in den Seiteneinstellungen im Sitemanager verwaltet werden).

[ci:cuid]

Integer

Gibt die ID des aktuellen Benutzers zurück. Ist der Benutzer nicht angemeldet (anonymer User), wird 0 zurückgegeben.

[ci:portalid]

Integer

Gibt die aktuelle PortalID zurück.

[ci:tabid]

Integer

Gibt die aktuelle TabID zurück (Datenbank-ID der aufgerufenen Seite).

[ci:baseurl]

String

Gibt die aktuelle Baseurl zurück z. B. http://www.contentxxl.de/.

[ci:pathinfo]

String

Gibt den Teil der URL, der hinter desktopdefault.aspx steht.

[ci:relatedbaseobject]

String

Beinhaltet die GlobalID der aktuellen Seite in der Listenansicht oder eines Objekts, wenn sich dieses in der Detailansicht befindet. Wird verwendet, um verknüpfte Objekte zu erkennen.

[ci:lang]

Integer

Gibt die aktuelle LanguageId (Datenbank-ID der aktuellen Sprache) zurück.

[ci:xxx]

Multiple

Wenn beliebige Parameter über die URL übergeben werden, können Sie diese auch über die context.items auslesen. Zum Beispiel:

Wenn Sie an die URL folgendes anhängen:
/meinparamter-27/
wird vom System ein context.items("meinparameter“) erzeugt, welches Sie dann über [ci:meinparamter] ansprechen können (in diesem Beispiel 27).

 

[ci:iptocountry_countrycode]

String Nur verfügbar, wenn in der web.config die IPToCountry-Funktionalität aktiviert wurde. Gibt den aus der IP-Nummer ermittelten Countrycode (z.B. CH) zurück.
[ci:iptocountry_countryname]

String

Nur verfügbar, wenn in der web.config die IPToCountry-Funktionalität aktiviert wurde. Gibt den aus der IP-Nummer ermittelten Ländernamen (z.B. Switzerland) zurück.

[ci:iptocountry_countrylanguage] Integer Nur verfügbar, wenn in der web.config die IPToCountry-Funktionalität aktiviert wurde. Gibt die contentXXL-LanguageID zurück, die dem countrycode entspricht. Achtung: Ist die Sprache nicht in der Datenbanktabelle "languages" hinterlegt (Spalte "culturecode"), wird 0 zurückgegeben.
 
 

VALIDIERENDE PLATZHALTER

Diese Platzhalter können in den meisten Objekttemplates (Ausnahmen siehe unten), nicht aber in Seitentemplates verwendet werden.

Platzhalter

Platzhalter

[rfval: id: controltovalidateid: parameter]
[/rfval]

RequiredFieldValidator (Eingabeforderungs-Validator). Eine Fehlermeldung erscheint, wenn das Feld leer ist.

Beispiel: [rfval:firstnameval:firstname:display=dynamic] Bitte geben Sie ihren Vornamen an.[/rfval]

[cpval: id: controltovalidateid: comparecontrolid: operator: parameter][/cpval]

Vergleicht zwei Felder. Operatoren können sein "Equal", "GreaterThan" , "LessThan". Dieser Platzhalter wird mit dem CompareValidator (Vergleichs-Validator) Control ersetzt.
Siehe http://msdn2.microsoft.com/de-de/library/system.web.ui.webcontrols.comparevalidator(VS.80).aspx für mehr Informationen.

[rngval: id: controltovalidateid: type: minval: maxval: parameter][/rngval]

Range Validator (Bereichs-Validator).

 

Der RegularExpression-Validator hat keine Entsprechung in contentXXL. Wenn Sie diesen in einem Template einsetzen möchten verwenden Sie bitte das originale .NET Control wie in folgendem Beispiel.

Beispiel:

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="Email" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">My Error message</asp:RegularExpressionValidator>

Für weitere Informationen:

http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.regularexpressionvalidator_members.aspx

[cusval: id: controltovalidateid: parameter]
[/cusval]

Benutzerdefinierter Validator.

[valsum: id: parameter]

ValidationSummary-Steuerelement.

Beispiel für den  Compare Validator:

 

[tb:password:]<br/>[tb:password2:]<br/>[cpval:passwordval:password:password2:Equal:]Passwords not equal. Please check it again.[/cpval]
 

 

 
 

GRUPPIERUNG UND SORTIERUNG

Diese Kommandos können in den meisten Objekttemplates (Ausnahmen siehe unten), nicht aber in Seitentemplates verwendet werden.

Kommando

Beschreibung

[set:group:create:fieldname]

Gibt das Kriterium an, nach welchem gruppiert werden soll.

[set:group:strict:fieldname]

Gibt nur das erste Element aus, falls die Liste verschiedene Einträge des selben Elements beinhaltet.

Beispiel:

[set:group:create:globalid] [set:group:strict:globalid]

[group:start:parameter] [group]

Gibt an, nach welchem Feld (Paramter) die Liste gruppiert werden soll. Der Inhalt zwischen den beiden group-Kommandos wird nur angezeigt, wenn sich der Wert des Felds ändert (Darstellung als Liste).

[group:finish:parameter] [group]

Gleiche Funktionalität wie group:start. Die Daten zwischen den beiden group-Kommandos werden nur angezeigt, wenn sich der Wert des Felds ändert.

[set:filter:expression]

Durch Setzten eines Filterkriteriums ist es möglich, den Inhalt zu filtern. Die Filterregeln (expression) müssen den Regeln zum Filtern und Sortieren von Datasets entsprechen. Für genauere Informationen:

https://msdn.microsoft.com/en-us/library/1ay5y4w0%28v=vs.71%29.aspx
Beispiel:
[set:filter:title like 'a%']

Ausgegeben wird eine Liste von Objekten, deren Titel mit A beginnt.

[set:order:fieldname]

Bestimmt die Sortierreihenfolge
Beispiel:
[set:order:publish_start DESC]

Die ausgegebene Liste wird nach den zuletzt veröffentlichten Objekten sortiert. Es kann nach mehr als einem Feldnamen (durch Komma getrennt)sortiert werden. Auch hier gelten die Regeln zum Filtern und Sortieren von Datasets (siehe oben).

Beispiel:

 

[set:group:create:type][group:start:type] <h1>[objecttypename]:</h1>[group]
<span [mvif:previewimage:eq:0]><img src="ResourceImage.aspx?raid=[previewimage]" border="0" alt="[previewimage_alt]" title="[previewimage_alt]"> </span><a href="[morelink]">[title]</a> [EditButton]
 

 

Anmerkung:
Diese Kommandos funktionieren auch mit Listen von verknüpften Objekten.

 

 

 

 
 

INLINE EDITIERUNG

Inline-Edit ermöglicht das Editieren von Objekten direkt auf der Website durch Zuweisung von speziellen "Inline Edit"-Templates. Das Konzept wurde mittlerweile durch das wesentlich mächtigere Site-Edit abgelöst, wird aber weiterhin unterstützt.
Das Inline-Edit ist für folgende Modultypen verfügbar:

  • Artikel
  • Kontakte
  • Dokumente
  • Links
  • Events
  • Blogs
  • Shop
  • HTML
 

Platzhaltername

Typ

Platzhalterbeschreibung

[ImageSelect:id:]

control

Mit diesem Platzhalter ist es möglich, eine Bild über den Ressourcenmanager auszuwählen.

[NamedUrlTitle:]

control

Eine Textbox, um eine NamedUrl für das Objekt zu vergeben und eine Schaltfläche, um diese automatisch zu generieren.

[ResourceSelect:id:]

control

Mit diesem Platzhalter ist es möglich, eine Datei über den Ressourcenmanager auszuwählen.

[Tb:id:parameters]

control

Die Textbox wird als einzeiliges Eingabefeld oder als Textarea ausgegeben. Möchten sie eine Textarea verwenden, müssen Sie als Parameter textmode=“multiline“ angeben. ID ist das Datenbankfeld, das angesprochen werden soll.

[WYSIWYG:id:parameters]

control

Zeigt den WYSIWYG-Editor, um den Text des angegebenen Felds (üblicherweise "description") zu bearbeiten.

[Tb:Keywords]

control

Dieser Platzhalter ermöglicht es, die SEO-Keywords des Objekts zu editieren.

[CategorySelect]

control

Dieser Platzhalter ermöglicht die Verknüpfung des Objekts mit Kategorien.

[ObjecttypeSelect]

control

Dieser Platzhalter ermöglicht die Zuordnung von Objekttypen.

[EditEventDates]

control

Spezieller Platzhalter für das Veranstaltungs-Modul zum Editieren von Terminen.

Beispiel für ein Inline-Template eines Artikel-Moduls:

[l_title]
[tb:title:width="100%"]
[l_headline]
[tb:headline:width="100%"]
[l_preview]
[tb:preview:textmode="multiline" style="width:100%;height:80px"]
[l_previewimage]
[Imageselect:previewimage:]
[l_description]
[WYSIWYG:description:]
[lbn:save:CommandName="save" text="Save"] [lbn:cancel:CommandName="cancel" text="cancel"]

 

Anmerkung:
Sie können zusätzlich den Parameter GroupVisibility setzen, der es Ihnen ermöglicht, Elemente ein- und auszublenden. Dieser steht für alle Controls und HTML-Elemente zur Verfügung

 

Beispiel:

1. Sie besitzen eine Textbox „title“ und möchten diese ein- und ausblenden, fügen sie den Paramter GroupVisibility=“Wert“(Wert steht für eine beliebige Zeichenfolge oder numerischen Wert) hinzu. Danach könnte Ihr Platzhalter wie folgt aussehen:

[tb:title:GroupVisibility=“a“]

2. Um nun die Sichtbarkeit zu ändern, benötigen Sie einen Imagebutton, Button oder einen Linkbutton mit dem Parameter SwitchVisibility=“Wert“ (hier müssen Sie den selben Text verwenden, wie bei GroupVisibility). Wenn Sie zum Beispiel einen Button verwenden wollen, könnte der Platzhalter dafür wie folgt aussehen:

[bn:Button:SwitchVisibility=“a“]

Ein Klick auf diesen Button blendet dann alle Elemente mit derGroupVisibility "a" ein- bzw. aus.