Hilfe-Center

PageType.config

Die Konfigurationsdatei für einen Seitentyp (PageType).

Beschreibung der Eigenschaften

  • AllowedSubPageTypes: Diese PageType dürfen unter dieser Seite angelegt werden
    • PageType: Eintrag für einen PageType
      • PageTypeName: Name des PageTypes
      • MaxOccurs: Anzahl der erlaubten Unterseiten dieses Typs (nicht angegeben = unbegrenzt)
  • NotAllowedSubPageTypes: Diese PageTypen dürfen nicht unter dieser Seite angelegt werden
    • All (Attribut im NotAllowedSubPageTypes-Tag): Falls true werden keine Unterseiten erlaubt, egal von welchem Typ, somit kann man sich die Angabe der einzelnen Typen sparen. 
    • PageType: Eintrag für einen PageType
      • PageTypeName: Name des PageTypes
  • SubPagesOrder: Nach welchem Prinzip sollen die Unterseiten dieses Typs  sortiert werden. Es sind auch SortierHierarchien möglich.
    • Order: Jeder Order-Block ist eine Sortierregel. Die Sortierregel wird bei jeder Änderung einer der für die Sortierung relevanten Werte ausgeführt. Es gibt folgende Attribute:
      • Direction: Die Reihenfolge in der sortiert werden soll.
      • DefaultField: Es soll der Wert einer Standardeigenschaft der Seite verwendet werden. (möglich Ist CreatedOn, ModifiedOn und Name) (Kann nicht mit CustomPageAttribute kombiniert werden)
      • CustomPageAttribute: Ein Attribut der Unterseite (erlaubte Typen sind Date, Integer und Text). (Kann nicht mit DefaultField kombiniert werden)
      • DefaultSortValue: Fallback wenn das Attribut in der Unterseite nicht gefunden wurde. (Kann nicht mit DefaultField kombiniert werden)
  • Attributes: Attribute des PageTypes. Diese verhalten sich analog zu den ShapeTypes und können genauso angegeben werden.Mögliche Attribute sind: Boolean, Integer, Text, File, Image, Link, Date, Decimal, Dropdown (mit Option als Unterelemente)
    Die Beschreibungen der einzelnen Attribute finden sich unter Webseitenersteller > AttributeTypes > "Name des Attributs"
  • 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. Die AttributeGroups sind eine reine Anzeige-Option und haben keine Auswirkung auf die Logik dahinter.
    • 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

  •  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 PageType.
  • Description: Optionale Beschreibung des PageTypes
  • Icon: Das Icon welches im EditMode angezeigt wird. Es wird mittels Lines und Zeichenketten von vorgegebenen Zeichen erstellt. Siehe Icons
  • TemplatePath: Pfad zum Template des PageTypes. Dieser muss ebenso ausgehend vom Instanzordner ohne diesen selbst angegeben sein.
  • DefaultShapes: Gibt an, welche ShapeTypes beim Neuanlegen einer Seite des aktuellen Typs automatisch mit angelegt werden sollen.
    • ShapeType: Eintrag für einen ShapeType (Werden in der Reihenfolge und Menge wie angegeben erzeugt)
      • ShapeArea: Regelt, in welchen Bereich das Shape eingefügt werden soll. Ist der Name des Bereichs ungültig, kann das Shape nicht angelegt werden
      • ShapeTypeName: Name des Typs des anzulegenden Shapes. Um das Default-Shape anlegen zu können, muss hier ein gültiger Name eines ShapeTypes angegeben werden.
      • Innerhalb der Defaultshapes können für ihre Attribute individuelle Platzhalter vergeben werden, dies funktioniert analog zu den Defaultshapes der ShapeType.config.
  • AllowedShapeTypes: Alle ShapeTypes, die in diesem Seitentyp zugelassen sind. Falls leer, greift NotAllowedShapeTypes. Falls hier ein ShapeType angegeben wird, sind nur diese Shapes in der Seite zugelassen
    • ShapeType: Eintrag für einen ShapeType
      • ShapeTypeName: Name des ShapeTypes
  • NotAllowedShapeTypes: Alle ShapeTypes, die in diesem Seitentyp nicht erlaub sind. Falls angegeben, sind alle ShapeTypes außer den angegebenen zugelassen
    • ShapeType: Eintrag für einen ShapeType
      • ShapeTypeName: Name des ShapeTypes
  • OnlyAllowedInPageTypes: Nur die hier eingetragenen PageTypen sind als Elternseite erlaubt
    • PageType: Eintrag für einen PageType
      • PageTypeName: Name des PageTypes
  • NotAllowedInNavigations: Dieser PageType darf nicht in den angegebenen Navigationen eingefügt werden 
    • Navigation: Eintrag für eine Navigation
      • Name: Name der Navigation
  • OnlyAllowedInNavigations: Dieser PageType darf nur in den angegebenen Navigationen eingefügt werden
    • Navigation: Eintrag für eine Navigation
      • Name: Name der Navigation
  • MinShapes: Regelt, wie viele Shapes bestimmter Typen in der Seite vorhanden sein müssen.
    • ShapeTypeName: Name des Shapetyps. Es muss ein gültiger Name angegeben werden, andernfalls wird die Konfiguration beim Start von CONTAILOR mit einem Fehler quittiert.
    • MinOccurs: Die Anzahl der geforderten Shapes."0" bedeutet kein Limit.
  • MaxShapes: Regelt, analog zu MinShapes, wie viele Shapes bestimmter Typen in der Seite maximal vorhanden sein dürfen. 
    • ShapeTypeName: Name des Shapetyps. Es muss ein gültiger Name angegeben werden, andernfalls wird die Konfiguration beim Start von CONTAILOR mit einem Fehler quittiert.
    • MaxOccurs: Die maximale Anzahl erlaubter Shapes. "0" bedeutet kein Limit.
  • Settings: Dieser Eintrag bietet anhand seiner Attribute eine ganze Reihe an Kofigurationsmöglichkeiten:
    • Deletable: Gibt an, ob der Benutzer Seiten dieses Typs löschen darf
    • Movable: Gibt an, ob der Benutzer Seiten dieses Typs verschieben darf
    • Creatable: Gibt an, ob der Benutzer Seiten dieses Typs erstellen darf. (z.B. darf eine Startseite nicht nochmals erstellt werden)
    • CreatableOnlyOnce: Wenn True, kann dieser Seitentyp systemweit über alle Sprachen hinweg nur einmal angelegt werden
    • CreateOncePerLanguage: Gibt an, die Seite nur einmal pro Sprache angelegt werden darf.
    • URLChangeable: Gibt an, ob der Benutzer die URL von Seiten dieses Typs ändern darf.
    • Editable: Gibt an, ob der Benutzer Seiten dieses Typs bearbeiten darf.
    • AllowedInFirstlevel: Falls false, kann dieser Seitentyp nur unter anderen Seiten angelegt werden, nicht auf höchster Ebene neben der Startseite.
    • AlwaysVisibleInMenu: Gibt an, ob die Seite sichtbar angelegt wird und nicht mehr verändert werden kann
    • AlwaysInvisibleInMenu: Gibt an, ob die Seite unsichtbar angelegt wird und nicht mehr verändert werden kann
    • IsDefaultPageType: Gibt an, ob dieser Typ beim initialen Starten der Instanz als erste Seite angelegt werden soll (Ist nur ein mal pro Instanz zulässig)
    • IsUnpublishAllowed: Gibt an, ob der Seite die Veröffentlichung wieder entzogen werden darf. Wenn gesetzt, wird der Unpublish-Button ausgeblendet und ein UnPublish kann auch per API nicht ausgeführt werden
    • DisablePageCache: Gibt an, ob der Seitencache bei dem Seitentyp standardmäßig abgeschaltet werden soll
    • ProtectByDefault: Gibt an, ob neu angelegte Seiten gleich durch Login geschützt werden sollen (Achtung, dies wirkt sich nicht auf Seiten aus, die vorher angelegt wurden)
    • InvisibleInMenuByDefault: Gibt an, ob die Seite standardmäßig unsichtbar angelegt wird
    • HideCheckboxVisibleInMenu: Gibt an, ob die Checkbox zum unsichtbar schalten der Seite angezeigt werden soll
    • IsNonContentPage: Gibt an, ob die Seite eine Seite ohne Inhalt ist. Ist dies der Fall, hat die Seite ein Standard-Template ohne Inhalt, dieses kann normal überschrieben werden. Zudem hat die Seite dann keine Metadaten und ist nur im Editmodus aufrufbar
    • ClickTargetAttributeName: Ist der Seitentyp eine NonContentPage, kann ihr ein Link-Attribut mitgegeben werden welches stattdessen aufgerufen wird
    • DefaultSitemapPriority: Priorität für die sitemap.xml welche Standardmäßig beim Anlegen einer Seite verwendet wird, Standard ist 0.5
    • DefaultSitemapChangeFrequency: Änderungshäufigkeit für die sitemap.xml, mögliche Werte sind always, hourly, daily, weekly, monthly, yearly, never
    • IsPreSelected: Gibt an, ob der Seitentyp im Neu-Anlegen-Dialog automatisch vorgewählt sein soll. Es können mehrere Seitentypen als IsPreSelected deklariert werden. Stehen davon mehrere zur Auswahl wird der erste vorgewählt.
  • Settings (Fortsetzung)
    • EnableTimePublish: Gibt an, ob dieser Seitentyp zeitgesteuert veröffentlicht werden darf. Wichtig: Default ist true, d.h. sobald die globale Einstellung dafür aktiv geschalten wird, taucht die Zeitsteuerung hier auf, wenn nicht false eingetragen wurde. Ist die globale Einstellung aus, erscheinen die Felder zur Zeitsteuerung auch dann nicht, wenn man es im PageType aktiviert hat.
    • IgnoreTimePublishLinks: Durch Setzen dieser Einstellung übernimmt der Webseitenersteller die Verantwortung für die Konsistenz der Links auf diese Seite und in dieser Seite. CONTAILOR validiert dann interne Links, die entweder in dieser Seite liegen oder auf diese Seite zeigen nicht mehr.
      Hintergrund dabei ist, dass man bestimmte Konstellationen, die durch die Zeitsteuerung zustande kommen und die eigentlich bei korrekter Handhabung verlinkt werden dürften sonst nicht setzen kann. Verlinkt man z.B. von einer permanent veröffentlichten Seite auf eine, die ein Enddatum angegeben hat, könnte man diesen Link nicht setzen. Der Webseitenersteller kann aber im Template der permanent veröffentlichten Seite angeben, dass der Link nur ausgegeben wird, wenn die Zielseite noch erreichbar ist. CONTAILOR weiß von der Template-Logik nichts, daher kann die Validierung hier abgestellt werden, wenn das Template die Erreichbarkeit gewährleistet.
  • ShapeAreasToValidate: Hier kann gesteuert werden welche Shape-Areas validert werden sollen. Der Block ist vollständig optional, bei Weglassen wird alles validiert.
    • Website: Hier können mit AreaName-Blöcken, eine, keine oder mehrere Shape-Areas eingetragen werden. Ist mindestens eine eingetragen, werden nur noch diese im Scope Website validiert. (Achtung: Schreibweise muss passen, case-sensitive, auf Tippfehler achten, sonst funktioniert die Validierung nicht mehr!) Der Eitrag im Website-Block hat keinen Einfluss auf gleichnamige Areas im Scope Page. Es müssen nur die Shape-Areas der obersten Ebene angegeben werden, die von Subshapes werden dann automatisch mit behandelt.
    • Page: Analog zum Website-Element, nur dass hier für den Scope Page die zu validierenden Areas geregelt werden.
  • Texts: siehe Texts

Nützliche Informationen zum Thema sitemap.xml stehen hier:

https://www.siteground.com/tutorials/sitemap/format/

XSD-Schema

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

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

Diese XML-Konfiguration legt alle Eigenschaften eines Seitentypen (PageTypes) fest. Anders als bei den ShapeTypes trägt sie immer den Namen des jeweiligen PageTypes.

Für vom System vorgegebene Default-PageTypes liegt sie unter  ~\contailor\DefaultPageType\<PageType-Name>.config
Die Configs für Seitentypen der Instanzen finden sich unter ~\<Instance>\View\PageType\<PageType-Name>.config.

Trägt ein Seitentyp einer Instanz den gleichen Namen wie ein Default-PagType, so wird der Default-Typ mit dem neuen überschrieben.

Beispiel-Konfiguration

Copy

<?xml version="1.0" encoding="utf-8" ?>
<Configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://code.contailor.de/XMLSchema/PageType.xsd">
    <DisplayName>Blogseite</DisplayName>
    <Description>Seite, die einen Bloginhalt darstellt</Description>
    <TemplatePath>View/Template/BlogPage.vbhtml</TemplatePath>
    <DefaultShapes>
        <ShapeType IsDeletable="false" ShapeArea="Content" ShapeTypeName="Paragraph" />
    </DefaultShapes>
    <AllowedShapeTypes>
        <ShapeType ShapeTypeName="Slider"/>
    </AllowedShapeTypes>
    <NotAllowedSubPageTypes All="false">
        <PageType PageTypeName="HomePage"/>
    </NotAllowedSubPageTypes>
    <NotAllowedShapeTypes>
        <ShapeType ShapeTypeName="Slider" />
    </NotAllowedShapeTypes>
    <Attributes>
        <Boolean PlaceholderBoolean="false" Name="Homepage-Boolean" Description="Test Attribut" />
    </Attributes>
     <Settings AllowedInFirstLevel="true" Creatable="true" Deletable="true" Editable="true" Movable="true" URLChangeable="true" />
    <Icon>
        <Line>T</Line>
    </Icon>
</Configuration>

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