Search the FirstSpirit Knowledge Base
Ich möchte im External Text Link Template ein Attribut "id" vergeben, welches pro Webseite eindeutig ist. Die ID soll nicht vom Editor gepflegt werden müssen, sondern generiert werden. Erster Gedanke dazu, ich nehme den Reference Name der Section:
<a id="$CMS_VALUE(#global.section.name)" ...>...</a>
Dann ist die id aber nur eindeutig, wenn sich nicht mehr als ein Link in der Section befindet. Bei mehreren pro Section wird die id gleich sein. Wie kann man die Links innerhalb einer Section eindeutig identifieren?
Ein Beispiel:
Page Content > Page 1 > Section 1 basierend auf Section Template 1:
Input Dom mit zwei Links (link1, link2), ein Link (link3)
Section Templates > Section Template 1:
<CMS_INPUT_DOM name="st_text" hFill="yes">
<FORMATS>
<TEMPLATE name="p"/>
</FORMATS>
<LANGINFOS>
<LANGINFO lang="*" label="Text"/>
</LANGINFOS>
</CMS_INPUT_DOM>
<CMS_INPUT_LINK name="st_link" hFill="yes">
<LANGINFOS>
<LANGINFO lang="*" label="Link"/>
</LANGINFOS>
<LINKEDITORS>
<LINKEDITOR name="external_text_link"/>
</LINKEDITORS>
</CMS_INPUT_LINK>
mit einfacher Ausgabe:
$CMS_IF(!st_text.empty)$
$CMS_VALUE(st_text)$
$CMS_END_IF$
$CMS_IF(!st_link.empty)$
$CMS_VALUE(st_link)$
$CMS_END_IF$
Link Templates > external_text_link mit Ausgabe:
<a id="$CMS_VALUE(#global.section.name ??? )" ...>...</a>
Pro Webseite eindeutig kann ja ein einfacher Zähler sein. Der könnte im z.B. im Seitentemplate initialisiert werden.
Danke für den Vorschlag. Dann würden aber beim Einfügen eines weiteren Links in der Mitte alle nachfolgenden Links eine neue ID erhalten. Die Vergabe soll aber dauerhaft sein.
Habe es jetzt so gemacht:
<a id="$CMS_VALUE("gen-id-" + lt_url.hashCode)$"...
Das ist eindeutig solange kein weiterer Link mit der gleichen URL auf der jeweiligen Seite existiert.