Section GID auslesen
Author: mfitt
Publication Date: 4/28/2022 15:27
Hallo,
ich versuche seit Stunden die GID einer Section in der Absatzvorlage auszulesen.
Die ID die ich mit $CMS_VALUE(#global.section.id)$ bekomme, möchte ich nicht. Ich möchte quasi den identifier, wie er auch im CaaS steht. Beispiel: 94033605-82e8-408b-a46f-2612746e9da6
Wenn ich folgendes in den Regeln mache, bekomme ich die korrekte ID: https://docs.e-spirit.com/odfs/vorlagenentwick/regeln/formulareigensc/eigenschaft-gid/index.html
Aber wie bekomme ich diese ID über Code in der Absatzvorlage?
Viele Grüße
Marcel
Tags: absatz, section
-
Author: hoebbel - 4/29/2022 7:22
Hallo Marcel,
die GID von IDProvidern ist über die API (und somit auch im Template) nicht auslesbar.
Warum reicht denn die (serverweit eindeutige) ID des Absatzes nicht aus?
Wenn es einen Grund gibt, warum Du die GID zwingend benötigst, so stell bitte einen entsprechenden Änderungswunsch ein, dass die GID von IDProvidern über die API erreichbar sein soll.
Viele Grüße
HolgerP.S. Technisch wird die GID in der Registry gespeichert. Über die Persistenz des Knotens selber ist sie also nicht erreichbar.
P.P.S. Wenn ich mich richtig erinnere, wird die GID nur erzeugt, wenn sie angefragt wird. Knoten, die weder über die JSON Funktion generiert wurden noch deren GID per Regel angefragt wurde, haben also keine GID.
P.P.P.S. Workaround, wenn die GID zwingend benötigt wird, wäre bei einem neuen! Projekt, in jedem Absatz eine versteckte Eingabekomponente unterzubringen, die die GID per Regel speichert. Davon rate ich aber dringend ab!
0 -
Author: mfitt - 5/2/2022 12:55
Hallo Holger,
nunja, es wird damit in der Frontendanwendung, die mit den CaaS Daten arbeitet, ein Direktlink/Ankerlink zu bestimmten Section gebildet. Und da das die eindeutige ID der Section ist, bietet es sich an dies zu verwenden
Im FS möchte ich diesen Direktlink in einem Feld generieren, damit ein Redakteur diesen Link für z.b. externe PDF rauskopieren kann.
Über die Regel bekomme ich auch die korrekte GID, wie sie im CaaS steht. Die ist auch fix und ändert sich nicht.
Kann ich denn per Regel ein Feld mit mehreren Variablen befüllen um eine URL zusammenzusetzen? Oder müsste ich das irgendwie per Skript machen?
Viele Grüße
Marcel0 -
Author: hoebbel - 5/4/2022 10:53
Hallo Marcel,
ich wurde gerade darauf aufmerksam gemacht, dass mit 2022.1 der GidAgent entsprechend erweitert wurde, so dass nun auch die Gid eines IDProviders ausgelesen werden kann.
Der Template Code sieht dann beispielsweise so aus, um die GID der aktuellen Seite auszulesen:
$CMS_SET(gidAgent,#global.requireSpecialist(class("de.espirit.firstspirit.common.GidAgent").TYPE))$
$CMS_VALUE(gidAgent.getGid(#global.page))$Tut mir sehr leid, dass mir die Änderung durchgerutscht war
Ich hoffe, dass die falsche Antwort keinen größeren Aufwand verursacht hat.Viele Grüße
Holger0 -
Author: mfitt - 5/4/2022 22:44
Hallo Holger,
alles gut danke, das klappt.
Viele Grüße
Marcel0
Please sign in to leave a comment.
Comments
4 comments