Search the FirstSpirit Knowledge Base
Ich hab eine neue Absatzvorlage "Inhaltsverzeichnis" angelegt:
<CMS_MODULE>
<CMS_INPUT_SECTIONLIST name="st_contentSections">
<LANGINFOS>
<LANGINFO lang="*" label="Inhaltsverzeichnis der Seite" description="Erstellt ein Inhaltsverzeichnis der ausgewählten Absätze."/>
</LANGINFOS>
</CMS_INPUT_SECTIONLIST>
</CMS_MODULE>
HTML-Kanal:
<CMS_HEADER>
</CMS_HEADER>
$CMS_IF(!st_contentSections.isEmpty)$
<div>
<ul>
$CMS_FOR(section,st_contentSections)$
<li><a href="#$CMS_VALUE(section.anchorName)$">$CMS_VALUE(section.text)$</a></li>
$CMS_END_FOR$
</ul>
</div>
$CMS_END_IF$
Nun hab ich zwar eine Aufstellung aller Absätze der Seite, aber der Anchor-Name ist nicht gesetzt. Jetzt muss ich ja noch den Anchor in meinem Absatztemplate einbinden (in einer anderen Vorlage, meiner Standardabsatzvorlage). Wie greife ich beim einzelnen Absatz auf den anchorName zu?
Das funktioniert leider nicht
<a name="$CMS_VALUE(#link.section)$"/>
Hallo,
die einfachste Lösung ist es, auf der Karteikarte Eigenschaften der entsprechenden Absatzvorlage in der Tabelle Dateiendung für den entsprechenden Ausgabekanal den Haken in der Spalte "<a> Tag" zu setzen.
Das erzeugt vor dem Anfang der Ausgabe des Absatzes folgenden Tag:
<a id="[Absatzreferenzname]" name="[Absatzreferenzname]"></a>
Wenn man statt dessen den Tag selber erzeugen will, so würde der Quelltext für exekt den selben Tag so aussehen:
<a id="$CMS_VALUE(#global.section.name)$" name="$CMS_VALUE(#global.section.name)$"></a>
Anmerkung: Wenn im Referenznamen des Absatzes ein Leerzeichen vorhanden ist [über redaktionelle Bearbeitung in alten Versionen oder per Skript erzeugt], so wird dieses bei der automatischen Ausgabe in einen Unterstrich umgewandelt. Dies soltle man gegebenenfalls bei der manuellen Ausgabe beachten (z.B. mittels $CMS_VALUE(#global.section.name.replaceAll(" ","_"))$)
Viele Grüsse aus Dortmund,
Holger
Hallo Herr Reinhardt,
wenn ich Sie richtig verstanden habe, dann müssen Sie in Ihrer Absatz-Vorlage nur in dem Tab Eigenschaften das Häkchen bei "<a> Tag" (neben der Ziel Extension) setzen. Das generiert dann automatisch die Absatz-Anker.
Viele Grüße,
C. Klingbeil
Hallo,
die einfachste Lösung ist es, auf der Karteikarte Eigenschaften der entsprechenden Absatzvorlage in der Tabelle Dateiendung für den entsprechenden Ausgabekanal den Haken in der Spalte "<a> Tag" zu setzen.
Das erzeugt vor dem Anfang der Ausgabe des Absatzes folgenden Tag:
<a id="[Absatzreferenzname]" name="[Absatzreferenzname]"></a>
Wenn man statt dessen den Tag selber erzeugen will, so würde der Quelltext für exekt den selben Tag so aussehen:
<a id="$CMS_VALUE(#global.section.name)$" name="$CMS_VALUE(#global.section.name)$"></a>
Anmerkung: Wenn im Referenznamen des Absatzes ein Leerzeichen vorhanden ist [über redaktionelle Bearbeitung in alten Versionen oder per Skript erzeugt], so wird dieses bei der automatischen Ausgabe in einen Unterstrich umgewandelt. Dies soltle man gegebenenfalls bei der manuellen Ausgabe beachten (z.B. mittels $CMS_VALUE(#global.section.name.replaceAll(" ","_"))$)
Viele Grüsse aus Dortmund,
Holger