tkrohn
I'm new here

Links innerhalb einer Section mit IDs versehen

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>

3 Replies
Peter_Jodeleit
Crownpeak employee

Pro Webseite eindeutig kann ja ein einfacher Zähler sein. Der könnte im z.B. im Seitentemplate initialisiert werden.

Peter
0 Kudos

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.

0 Kudos

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.