Questions & Answers

ESalimov
I'm new here

eigene Eingabekomponent in WebEdit

Hallo Zusammen,

die selbstimplementierte Eingabekomponent funktioniert einwandfrei in JavaClient.

Wie kann man diese in WebEdit auch zur Verfรผgung stellen, damit die Redakteuren รผber WebEdit die Absรคtze bearbeiten kรถnnen?

Die folgende Meldung kriege ich in WebEdit:

"Der Editor 'st_url' vom Typ 'CMS_IS_EDITOR' wird nicht unterstรผtzt."

Viele GrรผรŸe,

Emil.

0 Kudos
10 Replies
ESalimov
I'm new here

Hat echt keiner ne Idee?

Viele GrรผรŸe,

Emil.

0 Kudos

Hallo Emil,

du musst deine Eingabekomponente auch fรผr den ContentCreator implementieren, indem du die entsprechenden Interfaces implementiertst. Fรผr den SiteArchitekt hast du ja eine Java-Swing Oberflรคche implementiert, die funktioniert so natรผrlich nicht im ContentCreator. Da brauchst du eine HTML/JS Variante. In der Javadoc findest du die notwendigen Interfaces und in den Beispielmodulen ist die Geolocation-Komponente fรผr dich sicher interessant.

Viele GrรผรŸe

Christoph

0 Kudos

Hallo Christoph,

Danke fรผr die Rรผckmeldung.

Ich habe "geolocation" installiert um das zu testen, aber leider kriege ich die gleiche Meldung bei diesem Modul auch.

Viele GrรผรŸe,

Emil.

0 Kudos

Hallo Emil,

um die Geolocation Eingabekomponente zu testen musst du neben der Modulinstallation auch die Web-Komponente (im Reiter ContentCreator) auf einem Webserver installieren und aktivieren.

Viele GrรผรŸe

Rene

0 Kudos
MichaelaReydt
Community Manager

Hallo Emil,

benรถtigst du noch weitere Hilfe oder konnten dir Christophs und Renes Antworten bereits weiterhelfen? In diesem Fall wรคre es super, wenn du die "richtige Antwort" entsprechend markierst.

Viele GrรผรŸe

Michaela

0 Kudos

Hallo Michaela,

Leider war ich im Ausland und endlich habe ich jetzt Zeit es weiterzumachen.

Das "geolocation" Beispiel funktioniert im WebEdit immer noch nicht.

Die folgende Fehlermeldung erhalte ich:

"Failed to create gadget type 'CUSTOM_GEOLOCATION', due to missing JavaScript controller 'GeolocationWebGadget'. Make sure to install all necessary module components into your project-local ContentCreator instance."

Viele GrรผรŸe,

Emil.

0 Kudos

Hallo,

Die Swinggadget Klasse enthรคlt getValue und setValue Methoden, die sich um die gespeicherte Werte kรผmmern sollen. Aber die werten werden nicht gespeichert und bei jedem Aufruf alles verschwindet.

public void setValue(@Nullable HDItem hditem) {

              

       if(hditem == null){

            hditem = new HDItemImpl();

       }

         _search = hditem.getSearch();   

            _subscribe = hditem.getSubscribe();

            _result = hditem.getResult();

            _template = hditem.getTemplate();

            _overlay = hditem.getSuffix();

            _url = hditem.getUrl();

        if (_fsEditorPanel.isShowing()) {

            add(hditem);

        }

        _valueSet = true;

    }

Die Methode liefert null zurรผck.

z.B Log-Ausgabe:

INFO  19.02.2015 08:44:13.245 (de.espirit.firstspirit.opt.gom.hditem.HDItemSwingGadget):  - Search : 30000001 - Subscribe : pic - SelectedImage : 300000_04 - Template : Box - suffix : &tmp=BoxAdt - URL : .........Box

INFO  19.02.2015 08:44:13.245 (de.espirit.firstspirit.opt.gom.hditem.HDItemSwingGadget): nicht equals

INFO  19.02.2015 08:44:13.245 (de.espirit.firstspirit.opt.gom.hditem.HDItemSwingGadget): test:true

INFO  19.02.2015 08:44:13.245 (de.espirit.firstspirit.opt.gom.hditem.HDItemSwingGadget): ADD:  :  :  :  :  :

INFO  19.02.2015 08:44:13.245 (de.espirit.firstspirit.opt.gom.hditem.HDItemSwingGadget): HDItemSwingGadget SetValue

INFO  19.02.2015 08:44:13.245 (de.espirit.firstspirit.opt.gom.hditem.HDItemSwingGadget):  - _search :  - _subscribe :  - _result :  - _template :  - _overlay :  - _url :

INFO  19.02.2015 08:44:13.323 (de.espirit.firstspirit.opt.gom.hditem.HDItemSwingGadget): HDItemSwingGadget run

Die Werte werden gespeichert und nachdem man die Bearbeitungsstatus รคndert verschwindet alles und wird null zurรผckgegeben.

Viele GrรผรŸe,

Emil.

0 Kudos

Die setValue Methode ist dazu gedacht den Wert im Formular zu setzen. Also in einer Swing-Komponente (jtextfield oder so). GetValue liest entsprechend den Wert aus der Komponente.

Das Auslesen/Speichern des Wertes aus der Persistenzschicht passiert im ValueEngineer.

0 Kudos

Ja, die ValueEngineer hat read- und write-Methoden, die trotz nach der Ausfรผhrung immer null zurรผckliefern.

@NotNull

    public List<Node> write(@NotNull final HDItem hditem) {

        final List<Node> result = new ArrayList<Node>();

       

        final String search = hditem.getSearch();

        if (search != null) {

            result.add(Node.create(SEARCH_KEY, search));

        }

      .....................

      ............

       Logging.logInfo("HDItemValueEnginner write", LOGGER);

        return result;

    }

    public HDItem read(@NotNull final List<Node> nodes) {

        final HDItemImpl hditem = new HDItemImpl();

       

        try {

            for (final Node node : nodes) {

                final String nodeName = node.getName();

                if (SEARCH_KEY.equals(nodeName)) {

                    hditem.setSearch(node.getText());

                }

                ........................

                .......................

            }

        } catch (NumberFormatException e) {

            return null;

        }

       

        Logging.logInfo("HDItemValueEngineer read", LOGGER);

        return hditem;

    }

0 Kudos

Type a product name