dude
I'm new here

Link mittels FS-API erzeugen und befüllen

Hallo zusammen,

ich habe zwar in den Beispielanwendungen Code gefunden, der beschreibt, wie man im DOM Link-Templates benutzt, um diese dann in den DOM einzuhängen, jedoch schweigt sich die API darüber aus, wie man denn spezielle Felder des Links setzt.

Ich habe mir also einen Link (de.espirit.firstspirit.access.link.Link) erzeugt, wie in https://community.e-spirit.com/message/4932#4932 beschrieben.

link.setText() erlaubt es einem, den Linktext zu setzen ...

Wie komme ich an die weiteren Felder des Links ran (z. B. link.getEditor.set("title", "myTitle"))?

Matthias

0 Kudos
5 Replies
dude
I'm new here

EDIT: Habe eine 'Lösung' gefunden, leider mit einem deprecated-call:

            // 7. create a link by using the link template retrieved in step 4

            final Link link = linkTemplate.createLink( language );

            // 8. set the text to be displayed for link

            link.setText( node.getTextContent() );

            // do some voodoo to set the link target

            final Data data = ( ( LinkImpl ) link ).getData();

            final DataValue dv = data.createDataValue( "st_mailAdresse" );

            final EditorValue<String> editor = ( EditorValue<String> ) dv.getEditor();

            try {

              editor.set( language, linkTarget );

            } catch ( InvalidValueException e ) {

              LOG.error( e, e );

            }

            // write back the dataObject TODO: this call is deprecated

            link.setData( data );

            // 9. append created link to the paragraph node

            domNode.appendChild( link );

0 Kudos
boesebeck
Crownpeak employee

Hallo,

deine Lösung ist auch ohne "deprecated-call" Möglich. Siehe http://www.e-spirit.com/odfs42/access/examples/de/espirit/firstspirit/access/editor/LinkEditorValueE...

0 Kudos

Sowohl 'getData' als auch 'setData' sind ab 4.2R4 deprecated, in der API-Doc ist das auch dokumentiert, jeweils inklusive Hinweis auf nicht-deprecated Methoden:

http://www.e-spirit.com/odfs42/access/de/espirit/firstspirit/access/link/Link.html

Falls du mit einer IDE arbeitest binde dir doch die API-Dokumentation doch ein, dann hast du diese Informationen immer zur Hand.

Übrigens ist der cast nach "LinkImpl" in deinem Code-Beispiel sowohl überflüssig als auch gefährlich. So können sich schnell Benutzungen von nicht-API Methoden einschleichen, die dann nach einem Upgrade nicht mehr vorhanden sein müssen oder, noch schlimmer, sich anders verhalten.

Peter
0 Kudos

Hallo Jungs,

wie komme ich an die von euch gepostete Seite: http://www.e-spirit.com/odfs42/access/examples/de/espirit/firstspirit/access/editor/LinkEditorValueE... eigentlich ran?

Es wird eine Authentifizierung verlangt!

Dies könnte vllt eine Lösung für mein Problem sein.

Danke euch.

0 Kudos
boesebeck
Crownpeak employee

Hallo,

die Zugangsdaten befinden sich auf folgender Seite Documentation FirstSpirit™

Gruß

Gerrit

0 Kudos