Questions & Answers

SOLVED
reger
Returning Observer

Eindeutiger Identifier innerhalb eines Projekts

Jump to solution

Hallo,

wir benรถtigen zum Befรผllen unserer Suchmaschine fรผr jeden relevanten Absatz eine eindeutige ID. Normalerweise klappt das auch mit z.B.
ID = section-$CMS_VALUE(#this.id)$
Werden diese Absรคtze aber innerhalb eines FS_CATALOG verwendet, ist die #his.id leer. Daraufhin habe ich mir mit dem Generierungsdatum in Verbindung mit der template.id beholfen
ID = section-$CMS_VALUE(#this.id,default:#global.now.getTimeInMillis())$-$CMS_VALUE(#this.template.id,default:0)$

Leider kรถnnen auch Absรคtze gleicher Art innerhalb des FS_CATALOG direkt hintereinander gesetzt werden. Wenn die Generierung flott ist, habe ich also den gleichen Timestamp und hiermit doppelte Schlรผssel. In einem anderen Artikel (Unique IDs bei verschachtelten FS_CATALOG ) kam der Tipp, das Creation Date des Absatzes in einem versteckten Eingabefeld zu speichern und dieses als Timestamp in Millisekunden zu nutzen. Das ist ja ganz nett, aber dann mรผsste ich in jeder Absatzvorlage noch ein Datumsfeld reinbasteln. 
Fรผr eine Idee wรคre ich dankbar ...

Viele GrรผรŸe
Gaby Reger

0 Kudos
1 Solution

Accepted Solutions
mark_weigelt
Elite Observer

Hallo Gaby,

in einem Absatz innerhalb von FS_CATALOG kannst du das Systemobjekt #index verwenden:

Online Dokumentation FirstSpirit - #index

Damit werden die Absรคtze der Liste nummeriert beginnend bei 0. Das kรถnnest du statt der Erzeugung eines Timestamp verwenden.

Und um Abzufragen, ob ein Absatz innerhalb von FS_CATALOG eingesetzt ist, gibt es #fs_catalog: Online Dokumentation FirstSpirit - #fs_catalog.

Falls du nicht eine sehr alte FirstSpirit-Version im Einsatz hast, sollte es so gehen Smiley Happy

Viele GrรผรŸe

Mark

View solution in original post

0 Kudos
2 Replies
mark_weigelt
Elite Observer

Hallo Gaby,

in einem Absatz innerhalb von FS_CATALOG kannst du das Systemobjekt #index verwenden:

Online Dokumentation FirstSpirit - #index

Damit werden die Absรคtze der Liste nummeriert beginnend bei 0. Das kรถnnest du statt der Erzeugung eines Timestamp verwenden.

Und um Abzufragen, ob ein Absatz innerhalb von FS_CATALOG eingesetzt ist, gibt es #fs_catalog: Online Dokumentation FirstSpirit - #fs_catalog.

Falls du nicht eine sehr alte FirstSpirit-Version im Einsatz hast, sollte es so gehen Smiley Happy

Viele GrรผรŸe

Mark

0 Kudos

Hallo Mark,

Danke fรผr die rasche Antwort. Das wird hรถchstwahrscheinlich der richtige Weg sein. Leider setzen wir eine Uralt-Version ein, so dass wir das in der Form erstmal nicht nutzen kรถnnen. Wir sind aber auf dem Weg in die Cloud und damit auch zu einer neuen Version und dann werde ich deinen Tipp bestimmt einsetzen kรถnnen.

Viele GrรผรŸe
Gaby Reger

0 Kudos

Type a product name