Skripte
Skripte dienen dem Anzeigen von Feldern aus verschiedenen Quellen (z. B. Profildaten oder Empfängerdialog). Mittels Bedingungen kann auch eine Logik eingebaut werden. Schlussendlich ist das Ziel von Skripten mehr Dynamik und Vereinfachung in den Vorlagen. Skripte, die in mehreren Vorlagen eingefügt werden sollen, werden in den Globalen Konfigurationen abgelegt. Von der Dokumentfunktion "Skripte" wird das Skript dann nur noch mit den Globalen Konfigurationen verknüpft.
Jedes Skript wird in das Start- und Endtag CustomDataNode
eingeschlossen. Jedes CustomDataNode
-Element benötigt das Attribut id
, dessen Wert frei wählbar ist und eindeutig sein muss.
Um ein Text-Skript mit mehreren Zeilen zu erstellen, wird für eine Zeile mit dem Element Line
gearbeitet. Mit dem Element Text
wird ein fixer Text ausgegeben:
<CustomDataNode id="BeispielSkript">
<Line>
<Text>Erste Zeile</Text>
</Line>
<Line>
<Text>Zweite Zeile</Text>
</Line>
</CustomDataNode>
Über Element
werden Texte aus dem Profil oder aus externen Quellen angezogen. Damit beispielsweise Profildaten angezogen werden, wird die Identifikation des jeweiligen Feldes benötigt. Diese Feld-Id findet man im Dashboard unter "Fields" in der Spalte "FieldId":
Wurde die Feld-Id in das id-Attribut eingefügt, muss vor "User" immer noch "Profile." ergänzt werden (dies gilt nur für Profil-Felder, die angezogen werden möchten.). Sinn der Skripte ist es auch, die angezogenen Daten weiter zu verarbeiten oder mit Texten zu ergänzen. Im unteren Beispiel wurde als Ergänzung das Attribut separator
benutzt. Es gilt als Trennung zwischen den beiden angezogenen Elementen Anrede und Vorname. Wird kein Vorname angezogen, weil keiner im Feld abgefüllt ist, wird der definierte Separator nicht ausgegeben:
<CustomDataNode id="Example">
<Line>
<Element id="Profile.User.Salutation" separator=" " />
<Element id="Profile.User.FirstName" />
</Line>
<Line>
<Element id="Profile.Org.Title" />
</Line>
</CustomDataNode>
Mit einer Condition
können Bedingungen in die Skripte eingebaut werden:
<CustomDataNode id="Example">
<Line>
<Element id="Profile.User.Salutation" separator=" " />
<!-- Und-Verknüpfung ↓ -->
<Condition when="ShowFirstName = 'true' + DontShowFirstName = 'false'">
<Element id="Profile.User.FirstName" />
</Condition>
</Line>
<Condition notwhen="ShowTitle = 'false'">
<Line>
<Element id="Profile.Org.Title" />
</Line>
</Condition>
</CustomDataNode>
Mit dem Snippet
-Element können in der Datenbank gespeicherte OneOffixx-Textbausteine angezogen werden.
Warning
Bei der Verwendung von Snippet
handelt es sich um ein Snippetskript. Dieses kann nicht mit Texten (z. B. mit Element
) oder Bildern (Image
) gemischt werden. Siehe Verschiedene Skript-Arten.
Zudem sollte bei der Anwendung von Snippetskripts unbedingt folgende Seite aus den Best Practices beachtet werden: Einfügen von Snippetskripts in Inhaltsvorlagen.
Dem CustomDataNode
-Element wird im unteren Beispiel das Attribut update
mitgegeben. update
bewirkt mit true
, dass der Textbaustein sich in Abhängigkeit von Dokument-Parameter-Auswahlen aktualisiert oder nicht (false
).
<CustomDataNode id="BeispielSnippetSkript" update="true">
<Condition when="RedCircle = 'true'">
<Snippet id="05da9095-de60-4b78-bcd8-692639e8d377" />
</Condition>
<Condition notwhen="RedCircle = 'true' | BlueCircle = 'false'">
<Snippet id="5bc2d759-431f-41e0-a18c-d577b240e612" />
</Condition>
</CustomDataNode>
Verschiedene Skript-Arten
Es gibt drei verschiedene Arten von Skripts, die nicht vermischt werden dürfen:
Skript-Art | Beschreibung |
---|---|
Textskript | Das Resultat ist ein Text. Es dürfen alle Tags verwendet werden ausser Image und Snippet . |
Snippetskript | Das Resultat ist eine Zusammensetzung von Textbausteinen. In Snippetskripten dürfen nur Snippet und Condition verwendet werden. |
Imageskript | Das Resultat ist ein Bild. In Image-Skripts dürfen nur Image und Condition verwendet werden. |
Grundgerüst eines Skripts
Script-Element
Folgende Zeilen sind standardmässig in jeder Standard-Skript-Dokumentfunktion hinterlegt:
<?xml version="1.0" encoding="utf-8"?>
<Configuration>
<Script engine="XSL" version="2" depth="{[Config.Depth]}">
[...]
</Script>
</Configuration>
Die dritte Zeile ermöglicht, dass Skripte bzw. dynamische Binding-Elemente überhaupt in Vorlagen verwendet werden können. Hier ist eine Übersicht über die möglichen Attribute:
Attribut | Beschreibung |
---|---|
depth | Bestimmt, wie oft das Skript-Resultat berechnet wird. Generell wird die Verknüpfung mit der in den Globalen Konfigurationen hinterlegten Depth empfohlen, die standardmässig 5 beträgt. Greif ein Skript auf das Resultat eines anderen Skripts zu, muss depth mindestens 2 sein. Pro zusätzlichem verschachtelten Zugriff muss depth um 1 erhöht werden. |
engine | Bestimmt die Engine, die für die Scriptinterpretation bzw. -umsetzung zur Anwendung kommt. Als Wert steht nur "XSL" zur Verfügung. |
version | Bestimmt die Scriptengine-Version, die zur Anwendung kommt. Standardmässig ist der Wert 2. Die Angabe dieser Version könnte auch auf Ebene CustomDataNode übersteuert werden. Die Angabe der Version ist in Bezug auf die Abwärtskompatibilität wichtig. |
Zwischen den Script
-Start- und Endtags werden CustomDataNode
-Elemente hinterlegt. Es können beliebig viele CustomDataNode
s hinterlegt werden.
CustomDataNode-Element
Mittels CustomDataNode
wird ein neues Binding-Element erstellt, in welchem dann der Skriptinhalt definiert wird.
<?xml version="1.0" encoding="utf-8"?>
<Configuration>
<Script engine="XSL" version="2" depth="{[Config.Depth]}">
<CustomDataNode id="Scripts.Beispiel">
[...]
</CustomDataNode>
</Script>
</Configuration>
Attribut | Beschreibung |
---|---|
id | Id des Binding-Elements, das definiert wird. Die Id muss eindeutig sein. Für eine bessere Übersichtlichkeit im Vorlagen-Editor kann die Ordnerstruktur selber gesteuert werden: Enthält eine Id einen Punkt, wird aus dem Wort vor dem Punkt ein Ordner erzeugt. OneOffixx setzt dazu vor jede Id den Präfix "CustomElements.". Das muss beachtet werden, wenn in einem Skript auf ein anderes Skript zugegriffen wird. |
version | Bestimmt die Script-Engine-Version, die zur Anwendung kommt. Eine Angabe auf Ebene CustomDataNode überschreibt eine allfällige Versionsdekleration auf Script -Ebene. |
bookmarkname | Ermöglicht das Festlegen des Namens der Textmarke (Bookmark), in welche die entsprechenden Textbausteine (Snippets) eingefügt werden. die im Vorlageneditor eingefügt wird. Dieses Attribut wird nur im Zusammenhang mit Textbausteinen berücksichtigt. |
update | Bewirkt mit true , dass der Textbaustein sich in Abhängigkeit von Dokument-Parameter-Auswahlen aktualisiert oder nicht (false ). Dieses Attribut wird nur im Zusammenhang mit Textbausteinen berücksichtigt. |
Elemente innerhalb von CustomDataNodes und ihre Attribute
Line
Mittels Line
-Element werden mehrere Zeilen in einem Skript erzeugt. Alle Elemente, die weiter unten erklärt werden, werden in den meisten Fällen innerhalb von den Line
-Start- und Endtags definiert. Wenn in einer Zeile kein Element verfügbar ist, wird sie nicht angezeigt.
<CustomDataNode id="Scripts.Beispiel">
<Line>
[...]
</Line>
</CustomDataNode>
Attribut | Beschreibung |
---|---|
fixoutput | Mittels fixoutput auf true , wird ein leerer Zeilenumbruch generiert. Dank dem Attribut wird die Zeile auch ausgegeben, wenn kein Inhalt vorhanden ist. |
Text
Mittels Text
werden Fixtexte ausgegeben.
<CustomDataNode id="Scripts.TextBeispiel">
<Line>
<Text>Das ist ein Fixtext.<Text>
</Line>
</CustomDataNode>
Attribut | Beschreibung |
---|---|
when | siehe Condition-Attribute |
notwhen | siehe Condition-Attribute |
Element
Mittels Element
werden Felder aus OneOffixx angezogen. Die angezogenen Daten können mittels den folgenden Attributen ergänzt oder formatiert werden:
<CustomDataNode id="Scripts.Beispiel">
<Line>
<Element id="Profile.User.Postal.City" separator=", " fCase="lower" />
<Element id="DocParam.Date" fFormattingDate="dddd, d. MMMM yyyy" />
</Line>
</CustomDataNode>
Attribut | Beschreibung |
---|---|
id | Id des Feldes, das eingefügt werden soll. |
checkBoxActivatedSymbol | Definition des Zeichens, das bei einer angewählten Checkbox ausgegeben werden soll |
checkBoxDeactivatedSymbol | Definition des Zeichens, das bei einer nicht angewählten Checkbox ausgegeben werden soll |
linePrefix | Präfix-Zeichen für jede Zeile einer Liste bzw. eines mehrzeiligen Text-Elements |
separator | Trenntext zum nächsten Element oder Text, der nur angezeigt wird, wenn das nachfolgende Element einen Inhalt liefert. |
showEmptyEndLines | Übernimmt alle vorhandenen nachgestellten Leerzeilen: true /false (false ist Standard) |
showEmptyStartLines | Übernimmt alle vorhandenen vorangestellten Leerzeilen: true /false (false ist Standard) |
textafter | Fixtext, der immer hinter dem Element erscheint. z. B. textafter=" Uhr" |
textbefore | Fixtext, der immer vor dem Element erscheint. z. B. textbefore="MwSt: " |
when | siehe Condition-Attribute |
notwhen | siehe Condition-Attribute |
Funktionen | |
fCase* | Definiert, ob der einkommende Text gross (upper ) oder klein (lower ) geschrieben werden soll: fCase="[upper/lower]" . Für Unicode-Zeichen gibt es eine Erweiterung, die ähnlich funktioniert: upperUnicode /lowerUnicode |
fFormattingDate* | Definiert ein explizites Format für ein DateTime-Element. Generell wird immer mit den in den Globalen Übersetzungen vorhandenen Formaten verknüpft: fFormattingDate="{D[Configuration.DateFormat.WrittenOut]} , ergibt z. B. fFormattingDate="d. MMMM yyyy . |
fFormattingNumber* | Definiert ein explizites Format für Telefonnummern in einem Textfeld (z. B. im Feld "Profile.User.Phone"). z. B. fFormattingNumber="{D[Configuration.PhoneNumberFormat]} , ergibt z. B. fFormattingNumber="+00 00 000 00 00,41 Literale (siehe auch http://openbook.galileocomputing.de/csharp/kap30.htm): # → Stellenplatzhalter 0 → Stellenplatzhalter (identisch mit # jedoch wird hier das Zeichen '0' ausgegeben wenn keine Zahl an dieser Stelle vorhanden ist) ' → Text-Maskierung (Text, der in einfachen Anführungszeichen eingegeben wird, wird nicht interpretiert und als Text ausgegeben) \ → Zeichen-Maskierung (Das nächste Zeichen wird nicht interpretiert und als Zeichen ausgegeben) |
fFormattingNumeric* | Definiert ein explizites Format für Nummern. z. B. fFormattingNumeric="C3" (C=Währung, 3=Nummer der Dezimalstellen) |
fReplace* | Definiert, ob ein Teil des Textes ersetzt werden soll. z. B. fReplace="[bestehende Zeichenkette],[neue Zeichenkette]" |
fSelectLine* | Definiert, ob aus einem mehrzeiligen Text eine oder mehrere Zeilen selektiert werden sollen. z. B. fSelectLine="[Startzeile],[Endzeile]" |
fSubstring* | Definiert, ob nur ein Teil des Textes ausgegeben werden soll. z. B. fSubstring"[Startzeichen],[Anzahl Zeichen]" |
fSubstringAfter* | Definiert, ob nur das Ende (nach einer bestimmten Zeichekette) des Textes ausgegeben werden soll. Ist das Trennzeichen nicht vorhanden wird der ganze Text ausgegeben. z. B. fSubstringAfter="[Zeichenkette]" |
fSubstringAfterOrEmpty* | Definiert, ob nur das Ende (nach einer bestimmten Zeichenkette) des Textes ausgegeben werden soll. Ist das Trennzeichen nicht vorhanden wird kein Text ausgegeben. z. B. fSubstringAfterOrEmpty="[Zeichenkette]" |
fSubstringBefore* | Definiert, ob nur der Anfang (vor einer bestimmten Zeichenkette) des Textes ausgegeben werden soll. Ist das Trennzeichen nicht vorhanden wird der ganze Text ausgegeben. z. B. fSubstringBefore="[Zeichenkette]" |
fSubstringBeforeOrEmpty* | Definiert, ob nur der Anfang (vor einer bestimmten Zeichenkette) des Textes ausgegeben werden soll. Ist das Trennzeichen nicht vorhanden wird kein Text ausgegeben. z. B. fSubstringBeforeOrEmpty="[Zeichenkette]" |
fTrim* | Definiert, ob nur eine maximale Anzahl an Zeichen ausgegeben werden soll. z. B. fTrim="[maximale Anzahl Zeichen],[Modus],[Platzhalter]" . [Modus] → Ort, an welchem bei Überlänge der Text abgeschnitten werden soll. Erlaubte Werte: left , right und middle [Platzhalter] → Platzhaltertext, der eingefügt wird, sofern eine Überlänge erreicht ist (z. B. "...") |
fTrimURL* | Definiert, ob nur ein Teil einer URL oder eines Dateipfades ausgegeben werden soll (siehe auch fTrim). z. B. fTrimURL="[Art],[Modus],[Anzahl Ordner]" [Art] → File oder Folder , wobei File den Dateinamenselektiert und Folder den Pfad ohne Dateinamen. Aus diesem Grund stehen die nachfolgenden Optionen "Modus" und "Anzahl Ordner" nur bei Folder zur Verfügung. [Modus] → Ort, von welchem aus die Anzahl gewünschter Ordner angezeigt werden soll. Erlaubte Werte left und right [Anzahl Ordner] → Anzahl der Ordner, die angezeigt werden soll. |
*Dieses Attribut kann beliebig oft hintereinander in einem Element platziert werden. In diesem Fall muss jedes Attribut mit weiteren Zeichen ergänzt werden, damit jeder Befehl eindeutig ist. Im folgenden Beispiel sind die fReplace-Attribute durchnummeriert:
<Element id="DocParam.Test" fReplace1="b,c" fReplace2="a,b" />
Condition
Mittels Condition
können ganze Bereiche anhand von Bedingungen aktiviert oder deaktiviert werden. Die Bedingungen werden in der Regel an Auswahlen im Dokument-Parameter geknüpft. Beispiel: "Wenn die Checkbox "DocParam.Checkbox1" im Dokument-Parameter aktiviert ist, wird ein Text eingeblendet." Es können Text-, CheckBox-, ComboBox- und Image-Elemente validiert werden. Verfügbare Attribute für dieses Element sind when
und notwhen
.
<CustomDataNode id="Scripts.ConditionsBeispiel">
<Condition when="DocParam.CheckBox1">
<Line>
<Element id="Profile.User.Postal.City" separator=", " fCase="lower" />
<Element id="DocParam.Date" fFormattingDate="dddd, d. MMMM yyyy" />
</Line>
</Condition>
<Condition notwhen="DocParam.CheckBox1">
<Line>
<Element id="Profile.Org.Postal.City" separator=", " fCase="lower" />
<Element id="DocParam.Date" fFormattingDate="d. MMMM yyyy" />
</Line>
</Condition>
</CustomDataNode>
Attribut | Beschreibung |
---|---|
when | Bedingung, damit die beinhalteten Elemente und Texte angezeigt werden. Bei der Angabe von Ids (ohne Textvergleichoperatoren, siehe unten) wird geprüft, ob das OneOffixx-Element mit der Id existiert und einen Inhalt hat. Für 'oder'-Verknüpfungen wird das Zeichen ' | ' verwendet, für 'und'-Verknüpfungen ist es das '+ '- Zeichen. Eine Mischung von "und" und "oder"-Bedingungen im gleichen when -Attribut ist nicht erlaubt. Bei ComboBox-Elementen wird normalerweise der DisplayText (Anzeigetext) verwendet. Um auf den Wert ("Value") zuzugreifen, muss ein $-Zeichen vorangestellt werden: <Condition when="$DocParam.ComboBox1 = 'key1'"> CheckBox Verhalten: Die Bedingung <Condition when="DocParam.CheckBox1" \> ist erfüllt, wenn die CheckBox angewählt wurde. Es ist kein Vergleichsoperator nötig. Image Verhalten: <Image when="Profile.Org.Logo" ... /> resultiert entweder in einem leeren Bild oder dem eigentlichen Bildinhalt, wenn das eingefügte Feld in OneOffixx vorhanden ist. Möchte man abfragen, ob bestimmte Bilddaten gesetzt oder "leer" sind und nur ein Bild "selektieren", muss man über eine direkte Condition gehen: <CustomDataNode id="SelectImage"> <Condition when="Profile.User.Sign"> <Image id="Profile.User.Sign" /> </Condition> <Condition when="Signer_0.Org.Logo"> <Image id="Signer_0.Org.Logo" /> </Condition> <Condition when="Signer_1.Org.Logo"> <Image id="Signer_1.Org.Logo" /> </Condition> </CustomDataNode> |
notwhen | Analog dem when-Attribut, jedoch invertiert. |
Vergleichoperatoren
In einem when- oder notwhen-Attribut können auch Vergleichsoperatoren verwendet werden, wobei Fixtexte in einfachen Anführungszeichen (') stehen müssen:
<CustomDataNode id="Scripts.ConditionsBeispiel">
<Condition when="DocParam.CheckBox1 contains 'direktion'">
<Line>
<Element id="Profile.User.Postal.City" separator=", " fCase="lower" />
<Element id="DocParam.Date" fFormattingDate="dddd, d. MMMM yyyy" />
</Line>
</Condition>
<Condition notwhen="DocParam.CheckBox1 contains 'direktion'">
<Line>
<Element id="Profile.Org.Postal.City" separator=", " fCase="lower" />
<Element id="DocParam.Date" fFormattingDate="d. MMMM yyyy" />
</Line>
</Condition>
</CustomDataNode>
Attribut | Beschreibung |
---|---|
= |
Der Inhalt wird 1:1 verglichen |
~ |
Der Inhalt wird ohne Berücksichtigung von Gross-/Kleinschreibung und Leerzeichen verglichen |
contains |
Prüfung ob der Inhalt eine bestimmte Zeichenkette enthält (an beliebiger Position) |
startsWith |
Prüfung ob der Inhalt mit bestimmten Zeichen beginnt |
length |
Vergleich der Anzahl Zeichen |
lengthBiggerThan |
Prüfung ob die Zeichenanzahl grösser ist |
lengthLowerThan |
Prüfung ob die Zeichenanzahl kleiner ist |
Snippet
Mittels Snippet
-Element können in OneOffixx gespeicherte Textbausteine verwendet oder fixe Inhalte abgefüllt werden.
<CustomDataNode id="Scripts.SnippetScript">
<Snippet id="b353eb86-ac5a-4db4-99bc-1847e31793bb" />
</CustomDataNode>
Attribut | Beschreibung |
---|---|
id | Id des Feldes, das eingefügt werden soll. |
type | "Text" oder "Html" für einen fixen Inhalt, wobei der Inhalt innerhalb eines CDATA-Tags innerhalb des Snippet-Tags folgt: <Snippet><![CDATA[Beispieltext]]></Snippet> |
when | siehe Condition-Attribute |
notwhen | siehe Condition-Attribute |
Warning
Bei der Verwendung von Snippet
handelt es sich um ein Snippetskript. Dieses kann nicht mit Texten (z. B. mit Element
) oder Bildern (Image
) gemischt werden. Siehe Verschiedene Skript-Arten.
Zudem sollte bei der Anwendung von Snippetskripts unbedingt folgende Seite aus den Best Practices beachtet werden: Einfügen von Snippetskripts in Inhaltsvorlagen.
List
Mittels List
kann eine dynamische Liste von Elementen ausgegeben werden. Meistens wird das Element für die Anzeige einer Empfängerliste (z. B. in einem Protokoll) zur Anwendung. Innerhalb einer Liste können wieder die Attribute Line
, Element
und Condition
verwendet werden. Die Adressierung der Ids wird nun relativ gemacht, das heisst, dass nun anstelle von Contact.Recipient.Selected.Person.FirstName nur noch Person.FirstName verwendet wird.
<CustomDataNode id="Scripts.RecipientAnList">
<List type="Recipient" filter="An">
<Line>
<Element id="Person.SalutationShort" separator=" " />
<Element id="Person.Title" separator=" " />
<Element id="Person.FirstName" separator=" " />
<Element id="Person.LastName" separator=", " />
<Element id="Company.NameLine1" />
</Line>
</List>
</CustomDataNode>
Attribut | Beschreibung |
---|---|
filter | Es gibt folgende Filterkriterien: "An", "Cc", "Bcc". Wird "An" verwendet, werden nur die Empfänger, die unter "An" gewählt wurden, angwendet. |
includeSelected | Bestimmt, ob der aktuell selektierte Kontakt auch in der Liste angezeigt wird oder nicht: true [Standard]/false |
separator | Trenntext, der immer zwischen den Elementen angezeigt wird |
type | Bestimmt den Listentyp: immer Recipient |
Link
Mittels Link
kann ein HTML-Link erzeugt werden. Es gilt zu beachten, dass keine anderen daten-anziehenden Elemente im selben Skript verwendet werden sollten. Die Links können nur in HTML-E-Mails und nicht in Kombination mit den normalen Text-Skripten verwendet werden. Es können sowohl OneOffixx-Felder als auch andere Links hinterlegt werden. Sollten mehrere Link-Elemente auf verschiedenen Zeilen ausgegeben werden, muss das Zeilenende mit  
markiert werden.
<CustomDataNode id="ProfileLinks">
<Line>
<Link id="Profile.User.URL" text="Web" />`
<Text> </Text>
</Line>
<Line>
<Link id="Profile.Org.Web" bindingText="Profile.Org.Web" style="color:green;font:italic" />
<Text> </Text>
</Line>
</CustomDataNode>
Attribut | Beschreibung |
---|---|
id | Id des Feldes, das als URI verwendet werden soll. Wie erwähnt, kann auch ein fixer Link als Taginhalt angegeben werden. |
type | Linktyp – Art des Links. Erlaubt sind: Mailto , XingProfile , TwitterProfile , LinkedInProfile , FacebookProfile Bei einem so typisierten Link wird die generelle URL automatisch hinzugefügt und es muss nur der individuelle Profilname resp. die Profil-Id angegeben werden. |
text | Fixtext, der (sofern abweichend von der URI) angezeigt werden soll. Er wird nur angezeigt, wenn kein Binding-Text vorhanden ist. |
bindingText | Id des Binding-Elements, das als Link-Text angezeigt werden soll. |
style | CSS-Styleangaben für die Formatierung des HTML-Links |
styleName | Name einer nicht standardmässig integrierten Layoutvorlage vom Layoutvorlagentyp "Zeichen" (engl.: name of a non-built-in style of type "character"). Die Layoutvorlage basiert optimalerweise auf der Layoutvorlage "Hyperlink". Falls der Name der Layoutvorlage Zeichen enthält, die nicht A-Z , a-z , 0-9 oder - entsprechen, so müssen diese weggelassen werden. Beispiele: Protokoll Überschrift 1 → Protokollberschrift1 , $Ñ0t-Reço/mmen_d3d% → 0t-Reommend3d |
when | Siehe Condition-Attribute |
notwhen | Siehe Condition-Attribute |
Bilder-Links
Mit Link
können auch mit einem Link belegte Bilder eingefügt werden.
Bild aus OneOffixx-Feld:
<CustomDataNode id="DemoLinkWithImageFromProfile">
<Link
id="Profile.User.ProfilePageURL"
bindingImage="Profile.User.ProfileImage"
imageSize="1.8 cm"
imageAltText="Profile Image" />
</CustomDataNode>
Fixes Bild:
<CustomDataNode id="DemoLinkWithFixedImage">
<Link id="Profile.User.TwitterURL"
imageDataBase64="iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAB9AAAAfQAbmL558AAAJgSURBVEhL3ZVLaBNRFIb/JDOZJrXWWjGKFlpTFcXgAxehIAhql1kodCUI7sSqlEJR6K7bLt2q1IVWu1BcuCmColaq4gMLBlpb8W191VrSJPPynMm0nZsZM01rXfhBCHNnOP89/7nn3EBdz6SJJSZo/y8p/4/IgmuyQgngyGYZyZiEYAB48kXHhXQe49OFcBurgxj5aYCfBJHj28K480HH0HfdXvGmYXkQvc1RrI1SdAc/cibOv8yjaY2EsV8GTj/IWuuCXakGGZcORLB7dcheccNhz+6pcAkwNZRd+w4Fy2Rg8LOO7asKcQSRKnrJNlyhXR6jrCSPiiVqQ9avFPx+/3oJL74VHBHCpCcM61+m1TO7FPSnKtHSKCMqze26vsqdQTE3Xms4cXcahl0IQeQc+ek8BXHyvrupAk9bKnFxXwQdOxUkyW8/OIMZAUYQ4aB9I6r9NEeEMtm7TkJrIozDm8hTH/gAOBFEDm6QLXsWCx9dJ4LI5WF3FuWS0UwM2QWfQRC5Slb1vVqc0K13OvJiIqIIO9n1OIfuZzmXr/Olh7q+GEGEiVALtCYUq7HK5fZ7DQ/H3dPCJfIxY6JjIAutKGU/plQTnYM5+0nEJcJcH1ORupnBtVHVEvVDp09O3cvizZT3zjxFmPSEjoFPOpQ/flEgT+6cpO7uf6vZK25mpzCP5npqxlqqBc+e5joJMY8h6IT7oe1+Fs+/lp7asyIhincoLuPoljC21pTePgfnu6OX+kqdR+08Ly2+L5KxEOKU3UrKjD/gIz06aeARjfDhoo72Y8E3Yzn4lPXv8A9EgN/hX854N4rKAwAAAABJRU5ErkJggg=="
imageSize="40 px"
imageAltText="Twitter Icon" />
</CustomDataNode>
Attribut | Beschreibung |
---|---|
bindingImage | Id des Bildes, das angezeigt werden soll, z. B. Profile.User.ProfileImage Hier referenzierte Bilder müssen in der Profildaten-Konfiguration angegeben werden. |
imageSize | Höhe des Bildes, z. B. 1.8 cm Muss zwingend gesetzt werden. Die Breite wird automatisch berechnet. Empfohlene Masseinheiten: cm , mm , px , pt , in (es handelt sich um VML-Masseinheiten) |
imageDataBase64 | Daten des Bildes im Base64-Format |
imageAltText | Alternativtext, z. B. "Profilbild" / "Profile Image" |
Tip
Häufig konvertiert Outlook E-Mail-Bilder vor dem Versenden, was zu sichtlich schlechter Bildqualität führen kann. Damit dies bei PNG-Bilddateien weniger passiert, sollten diese mit der Bittiefe 32 abgespeichert werden.
Dies betrifft sowohl Bilder, die hinterlegt sind und über bindingImage
abgerufen werden wie auch Bilder, die mit imageDataBase64
direkt angegeben werden.
Die Bittiefe von PNG-Bilddateien wird im Windows Explorer in den Eigenschaften unter "Details – Bild – Bittiefe" (engl. "Details – Image – Bit depth") angezeigt.
Image
Mittels Image
können Bilder, die in OneOffixx bei den Benutzereinstellungen hinterlegt sind, angezogen werden. Durch das "when"-Attribut kann dieses z. B. je nach Auswahl im Dokument-Parameter ein- und ausgeblendet werden.
Referenzierte Bilder müssen in der müssen in der Profildaten-Konfiguration angegeben werden.
<CustomDataNode id="Scripts.ImageBeispiel">
<Line>
<Image id="Profile.User.ProfilePicture" />
</Line>
</CustomDataNode>
Attribut | Beschreibung |
---|---|
id | Id des Feldes, das eingefügt werden soll. |
when | siehe Condition-Attribute |
notwhen | siehe Condition-Attribute |
Warning
Bei der Verwendung von Image
handelt es sich um ein Image-Skript. Dieses kann nicht mit Texten (z. B. mit Element
) oder Textbausteinen (Snippet
) gemischt werden. Siehe Verschiedene Skript-Arten.