annick_querfeld
I'm new here

Referenznamen eines Listen-Elements in Variable schreiben.

Guten Tag.

Ich brauche in meiner Modules des öfteren eine unique ID. Ich hatte mir gedacht dass der Referenzname ja immer unique ist und darum wollte ich diesen verwenden.

Ich habe es dann so gemacht:

$CMS_SET(unique_element_id, #this.name)$

Nun funktioniert dies aber nicht, wenn ich ein modul als Listenelement nutze. Dann ist der Wert #this.name leer. Vermutlich weil #this.name auf den namen der Liste geht und dieser nicht gesetzt ist.

Wie kann ich auch hier, auf den referenznamen des Moduls zugreifen?

Viele Grüße,

Annick

0 Kudos
15 Replies
annick_querfeld
I'm new here

Ich habe nun noch folgende Möglichkeit gefunden:

#this.template.uid

Damit bekomme ich den Referenznamen des section templates. Nur leider ist das in dem Sinne nicht unique weil ich ein section template ja mehrmals in einer Seite drinhaben kann.

Mit #this.name hatte ich den referenznamen des page content bekommen.

Any idea?

0 Kudos

hm naja ich machs jetzt so: #this.template.id+"-"+#this.id .. scheint einigermaßen unique..

0 Kudos

Hallo Annick,

je nachdem was du mit deiner UID vor hast, solltest du bedenken, dass die ID nicht export/import sicher ist. Falls du das brauchst, dann solltest du lieber auf die UID zurückgreifen. Zudem musst du eventuell noch die Sprache mit berücksichtigen.

Wie gesagt, das hängt von deinem Fall ab.

Grüße

Jan

0 Kudos

Hallo Jan,

vielen Dank für deine Antwort.

Also wofür ich es brauche. Ich möchte dem Element in der HTML Seite eine eindeutige ID vergeben.

Da nun aber so ein Modul öfter in der Seite vorkommen könnte, die ID aber unique sein muss, kam ich dazu.

Meinst du für diesen Zweck ist es so ok?

Viele Grüße, Annick

0 Kudos

Hallo Annick,

ein eindeutiges Ja kriegst du von mir nicht, aber ein wahrscheinlich. Smiley Wink

Wenn du die ID irgendwo statisch verwendest und dann das Projekt exportierst/importierst funktioniert das z.B. nicht.

Ansonsten müsstest du dein Ziel etwas genauer beschreiben.

Grüße

Jan

0 Kudos

Also. Ich hab ein Modul.

Das kann beliebig oft in einer HTML Seite vorkommen, soll dann aber eine jeweilgs unique ID haben. Am liebsten würde ich ja ohne diese  IDs arbeiten, da es sich aber bei uns um eine CMS Migration handelt, wo ich Code übernehmen muss wie er ist aber komplett ohne dass ich ihn abändern darf, muss ich diese Ids generieren können. Da es ID abhängiges CSS und JS gibt (ich weiß ich ekel mich selbst davor).

Extrem simples Beispiel:

<html>

<head></head>

<body>

<div id="46543" class="mein-module">

...

</div>

<div id="12983" class="mein-module">

...

</div>

<div id="44214" class="mein-module">

...

</div>

</body>

</html>

Am Ende wird alles generiert und an Demandware übergeben.

Jetzt ist also die Frage wie ich hier an unique ids herankommen kann.

0 Kudos

Hi Annick,

wie erzeugst du denn die IDs passend zum CSS/JS?

Wenn du das im HTML und im CSS/JS auf die gleiche Art machst, dann sehe ich das erstmal kein Problem. Wenn die IDs im CSS/JS "hart" stehen, dann kriegst du wie gesagt Probleme beim Export/Import. Der sicher Weg wäre einfach die UID zu nehmen.

Der Andwendungsfall ist scheinbar etwas merkwürdig oder ich habe es noch nicht richtig verstanden.

Grüße

Jan

0 Kudos

Richtig, der Anwendungsfall ist nicht nur merkwürdig, er ist .. naja ich halte nichts davon. 😉 aber ich muss es leider so übernehmen. Von daher. Am liebsten würde ich alles wegschmeissen und selbst neu entwickeln 😉

Im CSS und JS würde es auch so generiert werden.

Wenn ich die UID nehme bekomme ich für alle Vorkommnisse dieses Moduls den gleichen Wert, daher konnte ich UID nicht nehmen. Das wäre das naheliegendste gewesen.

Aber dann scheint es anfürsich ja "ok" zu sein. Ich bin gespannt auf die erste Generierung..

0 Kudos

Achso, du müsstest an die UID schon die ID des Absatzes hängen. Nur von der Page würde ich die UID und nicht die ID nehmen.

Sorry, da hatte ich mich missverständlich ausgedrückt.