Search the FirstSpirit Knowledge Base
Hallo,
wir wollen Seiten in XML generieren.
Hierfür haben wir im Ausgabekanal der Seite den XML-Header:
$CMS_TRIM(level:3)$
<?xml version="1.0" encoding="$CMS_VALUE(#global.encoding)$"?>
<content>
$CMS_VALUE(#global.page.body("contentitems"))$
</content>
$CMS_END_TRIM$
bzw. im Absatz den Content:
$CMS_TRIM(level:3)$
<contentItem>
<name>$CMS_VALUE(ST_NAME)$</name>
<text>$CMS_VALUE(ST_TEXT)$</text>
<mimeType>text/html</mimeType>
<id>$CMS_VALUE(#global.id)$</id>
<validFrom>$CMS_VALUE(#global.section.meta("META_VALIDFROM","inherit").format("dd.MM.yyyy HH:mm"))$</validFrom>
<validTo>$CMS_VALUE(#global.section.meta("META_VALIDTO","inherit").format("dd.MM.yyyy HH:mm"))$</validTo>
<cacheLifeTime>$CMS_VALUE(#global.section.meta("META_CACHELIFETIME","inherit"))$</cacheLifeTime>
</contentItem>
$CMS_END_TRIM$
Dazu zwei Fragen:
1. FirstSpirit rendert in jedes XML-Element automatisch ein "fs-template-id"-Attribute rein. Kann man das abschalten?
<content fs-template-id="eyJ0ZW1wbGF0ZUlkIjozMTg0LCJ0ZW1wbGF0ZVNldElkIjozMTQwLCJ0ZW1wbGF0ZUNvbHVtbiI6MSwidGVtcGxhdGVMaW5lIjozfQ=="><contentItem fs-template-id="eyJ0ZW1wbGF0ZUlkIjozMTg1LCJ0ZW1wbGF0ZVNldElkIjozMTQwLCJ0ZW1wbGF0ZUNvbHVtbiI6MSwidGVtcGxhdGVMaW5lIjoyfQ=="><name fs-template-id="eyJ0ZW1wbGF0ZUlkIjozMTg1LCJ0ZW1wbGF0ZVNldElkIjozMTQwLCJ0ZW1wbGF0ZUNvbHVtbiI6MiwidGVtcGxhdGVMaW5lIjozfQ==">Label 1</name><text fs-template-id="eyJ0ZW1wbGF0ZUlkIjozMTg1LCJ0ZW1wbGF0ZVNldElkIjozMTQwLCJ0ZW1wbGF0ZUNvbHVtbiI6MiwidGVtcGxhdGVMaW5lIjo0fQ==">TEXT_LABEL 1</text><mimeType fs-template-id="eyJ0ZW1wbGF0ZUlkIjozMTg1LCJ0ZW1wbGF0ZVNldElkIjozMTQwLCJ0ZW1wbGF0ZUNvbHVtbiI6MiwidGVtcGxhdGVMaW5lIjo1fQ==">text/html</mimeType><id fs-template-id="eyJ0ZW1wbGF0ZUlkIjozMTg1LCJ0ZW1wbGF0ZVNldElkIjozMTQwLCJ0ZW1wbGF0ZUNvbHVtbiI6MiwidGVtcGxhdGVMaW5lIjo2fQ==">3191</id><validFrom fs-template-id="eyJ0ZW1wbGF0ZUlkIjozMTg1LCJ0ZW1wbGF0ZVNldElkIjozMTQwLCJ0ZW1wbGF0ZUNvbHVtbiI6MiwidGVtcGxhdGVMaW5lIjo3fQ=="/><validTo fs-template-id="eyJ0ZW1wbGF0ZUlkIjozMTg1LCJ0ZW1wbGF0ZVNldElkIjozMTQwLCJ0ZW1wbGF0ZUNvbHVtbiI6MiwidGVtcGxhdGVMaW5lIjo4fQ=="/><cacheLifeTime fs-template-id="eyJ0ZW1wbGF0ZUlkIjozMTg1LCJ0ZW1wbGF0ZVNldElkIjozMTQwLCJ0ZW1wbGF0ZUNvbHVtbiI6MiwidGVtcGxhdGVMaW5lIjo5fQ=="/></contentItem></content>
2. Kann ein Absatz im Seitenbereich (global.section.meta) irgendwie Metadaten von der übergeordneten Seite (global.page.meta) erben, oder geht das nur innerhalb des Strukturbereichs, da dort beides über "global.node.meta" angesprochen wird?
Vielen lieben Dank vorab
Hallo André,
Frage 1:
"fs-template-id" sollte nur in der Vorschau rausgeschrieben werden. Im generierten Stand sollte die id nicht mehr vorhanden sein. Sehe ich das richtig?
Frage 2:
Ja, der Absatz kann von der Seite erben.
$CMS_VALUE(global.section.meta("BEZEICHNER", "inherit"))$
Mit diesem Aufruf bekommst du den vererbten Wert.
Grüße
Jan
1.: Ja, das ist korrekt. Kann man das irgendwie abschalten?
2.: Haben wir jetzt auch so. Auch damals schon veruscht, aber irgendwie ging das da nicht
Hallo André,
1.: Geht meines Wissens nach nicht, da die Ids für verschiedene Funktionen der Vorschau benötigt werden. Um sicher zu gehen könntest du allerdings den HelpDesk kontaktieren.
2: Funktioniert es denn jetzt?
Viele Grüße
Tim
Falls das nochmal jemand sucht:
Die fs-template-id ist ein Merkmal des Template Inspectors, der scheinbar sinnvoll für den HTML-Ausgabekanal / die Vorschau ist - nicht aber für XML.
Man kann den Template Inspektor im Server Manager direkt am Ausgabekanal abschalten: