Hilfe-Center

ShapeType.config

Diese Konfigurationen werden eingelesen, sobald der entsprechende ShapeType im Backend aktiviert wird.

Diese XML-Konfiguration legt alle Eigenschaften eines ShapeTypes fest. Sie muss in jedem ShapeType-Ordner existieren.

Für vom System vorgegebene Default-Shape-Typen liegt sie in  ~\ShapedPage\DefaultShapeType\<ShapeTypeName>\ShapeType.Config
Die Configs für Shape-Typen der Instanzen finden sich unter ~\<Instance>\ShapeType\<ShapeTypeName>\ShapeType.Config.

  • AllowedSubShapes: Liste von erlaubten SubShapes
    • Shape: Eintrag für ein Shape
      • ShapeType: Name des ShapeTypes
  • NotAllowedSubShapes: Liste von nicht erlaubten SubShapes
    • Shape: Eintrag für ein Shape
      • ShapeType: Name des ShapeTypes
  • OnlyAllowedInShapes: Regelt, in welchen Shapetypen dieser Shapetyp angelegt werden darf. Ist dieses Feld befüllt, darf das Shape nur dort angelegt werden.
    • Shape: Eintrag für ein Shape
      • ShapeType: Name des ShapeTypes
  • OnlyAllowedInShapeAreas: Regelt, in welchen ShapeAreas dieser Shapetyp erlaubt ist. Ist dieses Feld befüllt, dürfen Shapes dieses Typs nur dort angelegt werden. Die Angabe erfolgt wie folgt: <ShapeArea Name="MyArea"/>
    • Shape: Eintrag für ein Shape
      • ShapeType: Name des ShapeTypes
  • xsi:noNamespaceSchemaLocation:  Gibt den Pfad zur zugehörigen XSD-Schema-Datei an. Diese Datei dient zur Validierung der XML-Struktur und legt die Reihenfolge sowie die Namen der nötigen Elemente und Attribute fest.
  • DisplayName: Anzeigenamen für den ShapeType. Dieser überschreibt, wenn angegeben, den internen Namen, der sich aus dem Ordnernamen ergibt. Diese Eigenschaft wird nur zur Anzeige verwendet.
  • Description: Optionale Beschreibung des ShapeTypes
  • Icon: Das Icon welches im EditMode angezeigt wird. Es wird mittels Lines und Zeichenketten von vorgegebenen Zeichen erstellt. Siehe
  • DefaultShapes: Liste von Shapes die automatisch beim Anlegen des Shapes als SubShapes mit angelegt werden. Die Angabe dieser DefaultShapes kann verschachtelt erfolgen.
    • Shape: Eintrag für einen ShapeType (Werden in der Reihenfolge und Menge wie angegeben erzeugt)
      • ShapeType: Name des ShapeTypes der angelegt wird
      • ShapeArea: Name der ShapeArea in der das Shape liegen wird
      • Text: Wenn ein Text-Attribut überschrieben werden soll
        • Name: Der Name des Attributs
        • PlaceholderText: Der Text, welcher anstelle des Ursprünglichen angezeigt werden soll
        • ShopAttribute: Rolle des Attributs im Shop (Mögliche Werte: "ArticleNumber")
      • Integer: Wenn ein Integer-Attribut überschrieben werden soll
        • Name: Der Name des Attributs
        • PlaceholderInteger: Der Integer Wert, welcher anstelle des Ursprünglichen angezeigt werden soll
        • ShopAttribute: Rolle des Attributs im Shop (Mögliche Werte: "ArticleNumber", "Stock")
      • Boolean: Wenn ein Boolean-Attribut überschrieben werden soll
        • Name: Der Name des Attributs
        • PlaceholderBoolean: Der Boolean Wert, welcher anstelle des Ursprünglichen angezeigt werden soll
        • ShopAttribute: Rolle des Attributs im Shop (Mögliche Werte: "ReducedVAT")
      • Decimal: Wenn ein Decimal-Attribut überschrieben werden soll
        • Name: Der Name des Attributs
        • PlaceholderDecimal: Der Decimal Wert, welcher anstelle des Ursprünglichen angezeigt werden soll
        • ShopAttribute: Rolle des Attributs im Shop (Mögliche Werte: "Price")
      • Link: Wenn ein Link-Attribut überschrieben werden soll
        • Name: Der Name des Attributs
        • PlaceholderLink: Der Link, welcher anstelle des Ursprünglichen angezeigt werden soll
  • NotAllowedInShapeAreas: Regelt, in welchen ShapeAreas dieser Shapetyp explizit nicht erlaubt ist. Ist hier ein Eintrag vorhanden, dürfen Shapes dieses Typs nur in den angegebenen Areas nicht, aber in allen anderen erstellt werden. OnlyAllowedInShapeAreas und NotAllowedInShapeAreas sollten nie gleichzeitig befüllt sein.
    • Shape: Eintrag für ein Shape
      • ShapeType: Name des ShapeTypes
  • Attributes: In dieser Liste müssen alle verwendeten Attribute hinterlegt sein. 
    Mögliche Attribute sind:
    • Boolean, Integer, Text, File, Image, Link, Date, Decimal, Dropdown (mit Option als Unterelemente)
    • Siehe AttributeTypes
    • AttributeGroup: Hiermit können Attribute für die Anzeige gruppiert werden. Es kann beliebig viele AttributeGroups geben, auch keine. In einer AttributeGroup können beliebig viele Attribute stehen. Attribute können auch außerhalb stehen, dann tauchen sie vor den gruppierten in der Sidebar auf.
      Name: Dieser Name wird oberhalb der zusammengefassten Anttribute angezeigt und muss angegeben werden.
      Description: Wenn angegeben, wird dieser Text als Info-Icon hinter dem Namen dargestellt
      Die AttributeGroups sind eine reine Anzeige-Option und haben keine Auswirkung auf die Logik dahinter.

  • Settings: Allgemeine Einstellungen zu Shapes
    • ShowShapenameInToolbar: Zeige den Namen des Shapes in einem Eingabefeld in der Shapeleiste an.
    • ShowShapeTypeNameInToolbar: Zeige den Namen des ShapeTypes in der Shapeleiste an.
    • ShowToolbarAtBottom: Zeigt die Shapeleiste und die Bildeinpassleiste unterhalb des Shapes an, damit man z.B. ein Shape an den obersten Seitenrand positionieren kann.
    • RefreshParentOnChange: Veranlasst das Aktualisieren des übergeordneten Shapes, sobald ein Shape dieses Typs hinzugefügt, entfernt oder aktualisiert wird.
  • SubShapeSettings: Regelt Beschränkungen der Anzahl von Subshapes. Wird die geforderte Anzahl von Shapes nicht eingehalten, kann die Seite nicht veröffentlicht werden und es erscheint ein roter Fehlerhinweis um das Shape. Die geforderte Anzahl kann durch das Löschen von Subshapes nicht unterschritten werden, in dem Fall wird eine Löschung unterbunden.
    Für alle Einstellungen bedeutet "0" kein Limit.
    • MinSubshapes: Es müssen mindestens so viele Subshapes wie angegeben vorhanden sein, egal welches Typs. Wenn dieser Wert angegeben wird, greifen die typabhängigen Minidesteinstellungen nicht mehr.
    • MaxSubShapes: Analog zu MinSubshapes regelt dies die maximale Anzahl an Subshapes. Wenn dieser Wert angegeben wird, greifen die typabhängigen Maximaleinstellungen nicht mehr.
    • ShapeType: Hier kann hinterlegt werden, wie viele Subshapes eines bestimmten Typs erforderlich sind.
      • Name: Name des Shapetyps. Es muss ein Name angegeben werden, der auch existiert, andernfalls wird die Konfiguration nicht akzeptiert.
      • MinSubShapes: Gibt an wie viele Shapes dieses Typs im Shape vorhanden sein müssen
      • MaxSubShapes: Gibt an wie viele Shapes dieses Typs im Shape maximal vorhanden sein dürfen
  • Texts: siehe Texts

Die Rolle der Configs in einem Shop-System (nur relevant, wenn CONTAILOR den Shop aktiviert hat)

Attribute können im Shop bestimmte fest definierte Rollen einnehmen, z.B. eine Artikelnummer oder den Preis darstellen.
Damit CONTAILOR weiß, welches Attribut wofür steht, müssen diese in der Config entsprechend gekennzeichnet werden. Dies geschieht über das XML-Attribut "ShopAttribute". Dieses kann an bestimmte Attribute nur mit bestimmten Werten angehangen werden, da z.B. der Preis immer ein Dezimalwert sein muss. Welche Werte an welchen Attributtypen zugelassen sind, kann o.g. Struktur entnommen werden.
Die einzelnen Werte bedeuten folgendes:

  • ArticleNumber: Definiert die Artikelnummer. Ein Shape gilt dann als Artikel, wenn es eine solche Artikelnummer konfiguriert hat
  • Price: Stellt den Preis dar
  • ReducedVAT: Legt fest, ob der Artikel der reduzierten Mehrwertsteuer unterliegt
  • Stock: Stellt den Bestand, also die verfügbare Menge des Artikels dar.

Wichtig: Pro Config kann jeder dieser ShopAttribute-Werte nur einmal vergeben werden. Zudem können sie nur in ShapeType-Configs verwendet werden, nicht in PageType-Configs. Werden diese Punkte nicht beachtet, wird beim Start eine entspr. Validierungsmeldung ausgegeben.

XSD-Schema

http://code.contailor.de/XMLSchema/ShapeType.xsd

Damit Visual Studio die Schema-Dateien per URL lädt, muss in den Optionen unter "Text Editor" > "XML" > "Miscellaneous" die Option "Automatically download DTDs and schemas" gesetzt werden.

Beispiel-Konfiguration

Copy

<?xml version="1.0" encoding="utf-8" ?>
<Confoguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://code.contailor.de/XMLSchema/ShapeType.xsd
  <DisplayName>Akkordeon</DisplayName>
    <Description>Beschreibung des Accordion</Description>
    <DefaultShapes>
        <Shape ShapeType="Paragraph" ShapeArea="Content" >
            <Text Name="Paragraph" PlaceholerText="PlaceholderText">
        </Shape>
    </DefaultShapes>
    <AllowedSubShapes>
        <Shape ShapeType="AccordionTab" />
    </AllowedSubShapes>
    <NotAllowedSubShapes/>
    <OnlyAllowedInShapes>
        <Shape ShapeType="Accordion" />
    </OnlyAllowedInShapes>
    <OnlyAllowedInShapeAreas/>
    <NotAllowedInShapeAreas/>
    <SubShapeSettings MinSubshapes="1" MaxSubshapes="2">
        <ShapeType Name="Accordion" MinSubshapes="1" MaxSubshapes="2" />
    </SubShapeSettings>
    <Attributes>
        <Text Name="ExampleText" PlaceholderText="Test" />
        <Integer Name="MaxTabs" Onpage="false" />
        <Boolean Name="AllTabsOpened" DisplayName="Alle Tabs öffnen" />
        <Dropdown Name="DropDown1" DisplayName="DropDown">
            <Option Name="Eins" Value="1" />
            <Option Name="Zwei" Value="2" />
        </Dropdown>
        <Date Name="Date" MinValue="2000-01-01" MaxValue="2001-12-31" Onpage="false" />
        <Decimal Name="Decimal" MinValue="1" MaxValue="100" PlaceholderDecimal="1.50" />
  <AttributeGroup Name="Files">
         <File Name="File" />
         <Image Name="Image" PlaceholderHeight="600" PlaceholderWidth="600" />
  </AttributeGroup>
        <Link Name="Link" />
    </Attributes>
    <Settings ShowShapeTypeNameInToolbar="true" RefreshParentOnChange="true" />
    <Icon>
        <Line>AA</Line>
    </Icon>
    <Texts>
        <Text Name="translation">
            <TextValue LanguageCode="de" Value="Übersetzung" />
            <TextValue LanguageCode="en" Value="Translation" />
        </Text>
    </Texts>
</Configuration>

War dieser Beitrag hilfreich?
1 von 1 fanden dies hilfreich.
Es ist ein technisches Problem aufgetreten. Bitte wenden Sie sich telefonisch oder per E-Mail an uns.