Questions & Answers

SOLVED
aVogt
Returning Creator

FS5: CMS_INPUT_LINK setzen (in DQ) - neuen Link erzeugen

Jump to solution

Hallo,

in einem ArbeitsablaufScript setze ich u.a. ein CMS_INPUT_LINK.
Um einen Link zu erzeugen benรถtige ich die erlaubten Linkvorlagen fรผr das Feld.

Bisher bin ich รผber die Datenquelle und dann รผber das DATA-Objekt der Entity gegangen.
Mit dem Formularnamen des Eingabefeldes (CMS_INPUT_LINK) bin ich an die erlaubten Linkvorlagen herangekommen und konnte daraus einen link erzeugen:

Data newEntityData = content2Element.getDataObject(newAnlEnt);
LinkEditorValue linkValue = (LinkEditorValue) data.get(filedName).getEditor();
final List allowedLinkTemplates = linkValue.getAllowedLinkTemplates();
LinkTemplate linkTemplate = (LinkTemplate) allowedLinkTemplates.get(0);
Link link = linkTemplate.createLink(language);


Nun soll/muss man ja in FS5.0 รผber FormData gehen (content2Element.getDataObject(newAnlEnt) ist deprecated).
Bei FormData kann ich mir zwar das Feld holen ( get(language, feldname) ), und darรผber den Link, aber wie komme ich dann an die erlaubten Linkvorlagen?

FormData newEntityData = content2Element.getDataset(newAnlEnt).getFormData();
FormField formField = formData.get(this.lang, filedName);
Link link = (Link) formField.get();

In den examples der API wird sich immer auf *EditorValue bezogen. Aber wie komme ich da ran?

in FS4.2 kam man da ran mit

data.get(filedName).getEditor();

Also meine Frage: Wie komme ich die *EditorValue ran? oder brauch ich die gar nicht mehr?

GrรผรŸe

Andreas

0 Kudos
1 Solution

Accepted Solutions

(GomLink) de.espirit.firstspirit.forms.FormData#getForm

-> de.espirit.firstspirit.access.store.templatestore.gom.GomLink#getLinkEditors

grรผรŸe

andre

View solution in original post

0 Kudos
5 Replies
andre
I'm new here

Link link = (Link) formField.get();

link.getTempalte();

allowedLinkTemplates <- war ja die menge der erlaubten link-Typen

in FS-5 gibt es genau einen LinkType , GenericLink

> Wie komme ich die *EditorValue ran? oder brauch ich die gar nicht mehr?

genau die EditorValue wird nicht benoetigt, hinter dem FormField verbiergt sich sozusagen die EditorValue

--

andre

0 Kudos
aVogt
Returning Creator

Hallo Andrรฉ,

danke. Das funktioniert aber nur, wenn der Link bereits gesetzt ist.

Mit allowedLinkTemplates habe ich unter FS4.2 die Verweisvorlagen (es gibt in dem Projekt nur genericsche)  erhalten, die bei dem CMS_INPUT_LINK-Feld erlaubt waren.

Bsp:

<LINKTEMPLATE editor="10289" id="270533" name="medium_referenz" pic="mediaref" revision="579001">

<LANG displayname="Medium (Referenz)" language="DE"/>

</LINKTEMPLATE>

, <LINKTEMPLATE editor="10289" id="394094" name="bild" pic="mediaref" revision="594571" txt="text">

<LANG displayname="Bild" language="DE"/>

</LINKTEMPLATE>

Das hat m.E. nichts damit zu tun, um was fรผr Verweisarten (Generic Link oder nicht)

Irgendwie muss ich doch auch jetzt an die erlaubten Linkvorlagen kommen, oder?

GrรผรŸe

Andreas

0 Kudos

(GomLink) de.espirit.firstspirit.forms.FormData#getForm

-> de.espirit.firstspirit.access.store.templatestore.gom.GomLink#getLinkEditors

grรผรŸe

andre

0 Kudos
aVogt
Returning Creator

Danke.

Allerdings steht da so einiges nicht in der API:

- GomLink

- GomLinkEditorList (durch gomLink.getLinkEditors() )

- GomNamedEntry (beim iterieren รผber die GomLinkEditorList)

Wenn man die EditorValue nicht mehr verwenden sollte, sollten auch die Examples in der Api nicht mehr stehen.

GrรผรŸe

Andreas

0 Kudos

> Allerdings steht da so einiges nicht in der API:

> - GomLink

> - GomLinkEditorList (durch gomLink.getLinkEditors() )

> - GomNamedEntry (beim iterieren รผber die GomLinkEditorList)

ja, leider ist das ganz noch nicht apifiziert.

0 Kudos

Type a product name