Objekt-Wizard: Seitendarstellung des Objektes

Objekt-Wizard: Seitendarstellung des Objektes
Objekt-Wizard: Seitendarstellung des Objektes

Bedienung

Im Register-Reiter (Tab) der "Seitendarstellung des Objektes" definieren Sie, welche Elemente einem Seitenbesucher bei Aufruf der Objekt-Detailseite angezeigt werden. Durch den Einsatz von Container-Elementen können Sie zudem entsprechenden Einfluß auf die Darstellung und Anordnung der Elemente nehmen.

Je nach Anwendung und Projektumsetzung stehen alle verfügbaren Strukturelemente / Weblics® zur Auswahl bereit, erweitert um:

Objektdaten ausgeben

Dieses Weblic® / Strukturelement ermöglicht die Ausgabe von Objektdaten. Diese können unter anderem individiuell über HTML formatiert werden. Zudem ist der Einsatz von WSL-Tags möglich, was im Info-Text unterhalb der Box angeführt wird. Beispiele finden Sie unter anderem in der Mobile First Hilfe.

'HTML Sonderzeichen (nicht) maskieren':
Über diese Auswahlbox legen Sie fest, ob HTML Sonderzeichen im Feld maskiert oder nicht maskiert werden sollen.

'WSL interpretieren':
Ist dieser Parameter aktiviert, werden WSL-Tags, welche im HTML-Feld angegeben sind, in der Ausgabe interpretiert.

'Info-Text':
Der Info-Text unterhalb der gelben Box zeigt Ihnen bereits ein paar Beispiele, was im HTML-Feld definiert werden kann.

Nachfolgend der zum Zeitpunkt der Doku-Erstellung gesetzte Info-Text, welcher direkt Beispiele anführt und :

'Info-Text':

Die Platzhalter werden durch die entsprechenden Objektdaten ersetzt, z.B.
<div>[!--firstname--] [!--surname--]</div>
<div>[!--text--]</div>

Weitere Platzhalter:
[!--meta_title--] [!--meta_description--] [!--meta_keywords--] [!--meta_thumbnail_src--] [!--meta_publication_time--] [!--meta_publication_name--] [!--meta_creation_time--] [!--meta_creation_name--] [!--meta_categories--] [!--wDocumentPath--] [!--wDocumentUID--] [!--wRequestURL--] [!--wProjectPath--] [!--wProjectAssetsPath--] [!--wProjectGlobalPath--] [!--wProjectLayoutPath--] [!--page_path--] [!--page_dir_application--] [!--page_dir_url--] [!--wLanguageProject--]

Falls HTML nicht maskiert werden soll, sieht der Platzhalter so aus:
<div>[!--text.disableOutputEscaping()--]</div>

Falls zusätzlich die Fließtextformatierungen genutzt werden sollen:
<div class="elementStandard elementContent elementText">[!--text.disableOutputEscaping()--]</div>

Bedingungen sind über folgende Syntax umsetzbar:
[!--#if test="firstName != ''"--]<div>[!--firstName--]</div>[!--#endif--]

Schleifen sind über folgende Syntax umsetzbar:
!--#foreach select="xxx" --]...[!--#endforeach--]

Verwendbare foreach-Attribute:

  • select
  • orderBy
  • orderDir
  • limit
  • start (verfügbar ab CMS-Version 018.007.027.000)

z.B. über Mehrfachtermine im Objekt-Feld "dates":
[!--#foreach select="dates" orderBy="" orderDir=""--]<div><wsl:date format="D, d.m.Y H:i" time="[!--from--]" lang="de"/> Uhr</div>[!--#endforeach--]
z.B. über Mehrfachauswahl im Objekt-Feld "downloads" (per Pipe getrennt):
[!--#foreach select="downloads.split()" orderBy="" orderDir=""--]<div><a href="[!--text()--]" lang="de">[!--text()--]</a></div>[!--#endforeach--]

Beispiel für den Einsatz von WSL:
<p><wsl:date format="d.m.Y" time="[!--meta_publication_time--]"/></p>

'Weitere Beispiele':

Kategorien sind über folgende Syntax umsetzbar:

  • Kategorien im wd:meta Bereich:
    [!--#foreach select="meta_categories" orderBy="" orderDir=""--]
    <wsl:getCategoryText path="/[IHR-LAYOUT-PROJEKT]/wGlobal/content/categories/standard.wCategories.php" id="[!--text()--]"/>

    [!--#endforeach--]
  • Kategorien im wd:object Bereich (z.B. location):
    [!--#foreach select="location" orderBy="" orderDir=""--]
    <wsl:getCategoryText path="/[IHR-LAYOUT-PROJEKT]/wGlobal/content/categories/location.wCategories.php" id="[!--text()--]"/>
    [!--#endforeach--]
  • Kategorien-Text über WSL weiterverarbeiten:
    [!--#foreach select="meta_categories" orderBy="" orderDir=""--]
    <div>
    <wsl:php>
    $categoryText = wsl_getCategoryText::parseTag(array('path' => '/[IHR-LAYOUT-PROJEKT]]/wGlobal/content/categories/standard.wCategories.php', 'id' => '[!--text()--]'), '');
    print $categoryText;
    </wsl:php>
    </div>
    [!--#endforeach--]
  • Kategorien-Text über wsl:php und Framework weiterverarbeiten:
    [!--#foreach select="meta_categories" orderBy="" orderDir=""--]
    <div>
    <wsl:php>
    $
    categoryText = wCategories::getCategoriesText('/[Pfad-Zur-Kategoriendatei]', '[!--text()--]') ;
    print $categoryText;

    </wsl:php>
    </div>
    [!--#endforeach--]
  • Alle Kategorien-Inhalte über wsl:php und Framework weiterverarbeiten:
    [!--#foreach select="meta_categories" orderBy="" orderDir=""--]
    <div>
    <wsl:php>
    $categories = wCategories::getCategoriesAsArray('/[Pfad-Zur-Kategoriendatei]');
    $categoryText = $categories[
    '[!--text()--]']['title_de'] ?? '';
    print $categoryText;
    </wsl:php>
    </div>
    [!--#endforeach--]

Universelle Syntax über wsl:php, z.B.:
<wsl:php>
  if('[!--meta_publication_time--]' > date('Y-m-d H:i:s', time())){
    <![CDATA[
    print '<div class="publicationDate">[!--meta_publication_time--]</div>';
    ]]>
  }
</wsl:php>

Verknüpfte Bedingungen:


Ab CMS-Version 17 können einfache Und- bzw. Oder-Verknüpfungen in Templates umgesetzt werden.
Es ist möglich über || bzw. && zu verknüpfen, mischen ist allerdings nicht möglich. Mit Hilfe der konjunktiven Normalform ist das aber durch Verschachtelung umsetzbar.

<div>Feld 1: [!--field1--]</div>
<div>Feld 2: [!--field2--]</div>
[!--#if test="field1 != ''"--]<div>1</div>[!--#endif--]
[!--#if test="field2 != ''"--]<div>2</div>[!--#endif--]
[!--#if test="field1 != '' || field2 != ''"--]<div>1 oder 2</div>[!--#endif--]
[!--#if test="field1 != '' && field2 != ''"--]<div>1 und 2</div>[!--#endif--]



Objektdaten ausgeben - Beispiel description
Objektdaten ausgeben - Beispiel description
Objektdaten ausgeben - Beispiel Meta-Kategorien
Objektdaten ausgeben - Beispiel Meta-Kategorien

Derzeit sind folgende Weblics® / Strukturelemente über Platzhalter-Angaben für die Ausgabe von Objektdaten vorbereitet:

Überschriften Weblic / Strukturelement:

Geben Sie in das Eingabefeld für die Überschrift folgenden Platzhalter ein:

wObjectdata:xxx

(xxx steht für den den Wert des id-Attributes des gewünschten Objektdaten-Feldes (z.B. name für <wd:data id="name" ...)

Alle möglichen Platzhalter für das Strukturelement finden Sie am Artikelende beschrieben.

Fliesstext Weblic / Strukturelement

Geben Sie in das Eingabefeld für den Text an gewünschter Stelle folgenden Platzhalter ein:

wObjectdata:xxx

(xxx steht für den den Wert des id-Attributes des gewünschten Objektdaten-Feldes (z.B. name für <wd:data id="description" ...)

Alle möglichen Platzhalter für das Strukturelement finden Sie am Artikelende beschrieben.

Bild Weblic / Strukturelement

Objektdaten ausgeben - Beispiel picture
Objektdaten ausgeben - Beispiel picture

Geben Sie in das Eingabefeld für die Bild-Datei folgenden Platzhalter ein:

wObjectdata:xxx

(xxx steht für den den Wert des id-Attributes des gewünschten Objektdaten-Feldes (z.B. picture für <wd:data id="picture" ...)
Weiterhin besteht zum Bild-Element die Möglichkeit, den maximal und mindestens sichtbaren Bildausschnitt über einen Platzhalter auszulesen (z.B. und )

Alle möglichen Platzhalter für das Strukturelement finden Sie am Artikelende beschrieben.

Inhaltsbereiche des Objektes auslesen

Sollen Inhaltsbereiche (wie z.B. content1) vom Objekt ausgelesen werden, bietet sich der bedingte Inhaltscontainer für Inhalte einer Gruppe (gleichnamiges Weblic®/Strukturelement) an. Dieser gibt den Inhalt z.B. nur dann aus, wenn "Nur sichtbar, wenn folgende Gruppe Inhalte hat: 1" (für content1) gesetzt ist.

Im bedingten Container können Sie dann z.B. mit dem Weblic®/Strukturelement "Inhalte der aktuellen Seite" die Inhalte des gewünschten Bereiches (z.B. Hauptbereich (conten1)) an der von Ihnen gewollten Stelle auslesen.

Liste

Sollen Parameter einer Liste (z.B. Kategorien-IDs) ausgelesen werden, kann dies ab CMS-Version 015.003.046.000 über die Listenfilter als Platzhalter zum Auslesen von Kategorien-IDs ermöglicht werden.

wObjectdata:xxx.categoriesAsString()

(xxx steht für den den Wert des id-Attributes des gewünschten Objektdaten-Feldes (z.B. category für <wd:data id="category" ...)

Alle möglichen Platzhalter für das Strukturelement finden Sie am Artikelende beschrieben.

Social Button

Sollen Social Buttons über Objektdaten befüllt werden, kann dies ab CMS-Version 15 über das aktuellste Social Button Weblic® ermöglicht werden.

wObjectdata:xxx

(xxx steht für den den Wert des id-Attributes des gewünschten Objektdaten-Feldes (z.B. twitter für <wd:data id="twitter" ...)

Alle möglichen Platzhalter für das Strukturelement finden Sie am Artikelende beschrieben.

XSLT einbinden bzw. einbetten

Ab Weblication® Version 16 steht mit dem Weblic® / Strukturelement "XSLT einbinden bzw. einbetten" eine Möglichkeit zur Verfügung, individuell über XSLT Informationen für die Seitendarstellung des Objektes auszugeben.

Beispiel, um den Seitentitel auszugeben

<h1><xsl:value-of select="/wd:document/wd:extension/wd:meta/wd:title/text()"/></h1>

Mögliche Platzhalter

Für die Seitendarstellung des Objektes können folgende Platzhalter zur Ausgabe verwendet werden (aktuellste CMS-Version und Templates vorausgesetzt):

  • Weblics / Elemente: Objektdaten ausgeben:
    • Metadaten
      [!--meta_xxx--]
      xxx steht für den Namen der Metadaten (meta_title bei wd:meta/wd:title, also [!--meta_title--])
      Weitere Platzhalter: [!--meta_description--], [!--meta_keywords--], [!--meta_thumbnail_src--], [!--meta_publication_time--], [!--meta_publication_name--], [!--meta_creation_time--], [!--meta_creation_name--]
    • Objektdaten
      [!--xxx--]
      xxx steht für den Namen der Objektdaten (title bei wd:data id="title", also [!--title--])
    • Umgebungsvariablen
      [!--wDocumentPath--] (oder: [!--page_path--]), [!--wDocumentUID--], [!--wRequestURL--] (oder: [!--page_url--]), [!--wProjectPath--], [!--wProjectAssetsPath--], [!--wProjectGlobalPath--], [!--wProjectLayoutPath--], [!--page_dir_application--], [!--wLanguageProject--]
  • Weblics / Elemente: Überschrift, Fliesstext, Bild:
    • Objektdaten
      z.B. wObjectdata:title, wObjectdata:picture, etc.
      Der Wert hinter dem Doppelpunkt steht für den Namen der Objektdaten (title bei wd:data id="title")
    • Metadaten
      wMetadata:title, wMetadata:description, wMetadata:thumbnail
    • Umgebungsvariablen
      wEnvdata:documentPath, wEnvdata:requestURL, wEnvdata:projectPath, wEnvdata:projectAssetsPath, wEnvdata:projectGlobalPath
      (verfügbar ab CMS-Version 016.001.107.000)
      wEnvdata:dirSubProject (verfügbar ab CMS-Version 17)
    • Texte aus Textbausteinen
      wText:xxx (z.B. wText:homepage für den Text-Werte "Startseite")
      Die Texte werden ausgehend vom verwendeten Objekt (z.B. shop) zuerst in der ggf. vorhandenen Textbaustein-Datei des Objektes (z.B. shop.wTexts.php) gezogen und wenn dort nicht vorhanden, aus der zentralen default.wTexts.php.
      (verfügbar ab CMS-Version 016.003.103.000)