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