mhenke
I'm new here

Contentarealist mit FirstSpirit API füllen

Ich versuche gerade mit Hilfe eines Scriptes und der API eine Contentarealist zu befüllen. Allerdings wird der Datensatz in dem die Contentarealist liegt nicht verändert.

Ich habe mein Script schon mit dem Beispiel verglichen und konnte keine Unterschiede feststellen.

Hier der relevante Ausschnitt aus dem Script

ContentAreaListValue access_editor = manual_sections.getAccessEditor(context.getProject(), false);

    SectionList sectionList = access_editor.get(lang);

    sectionList.clear();

    for(Entity newsCategory : newsCategoryList) {

        // create a news category container

        Section newsCatCont = sectionList.create(newsCategory.getValue("title_" + lang.getName()), newsCategoryContainerTemplate);

        infoMessage(newsCatCont);

        // TODO: add news

        //Long newsCategoryId = newsCategory.getValue("fs_id");

        //List newsOfCategory = getNewsOfCategory(session, newsCategoryId.intValue());

        // TODO: add news category

        // TODO: add the news category container to the list

    }

    // add list of news category containers to manual section component

    access_editor.set(lang, sectionList);

    infoMessage(sectionList.size());

    infoMessage(sectionList);

    session.commit();

Außerdem angehängt ist das komplette Skript

Vielen Dank im Vorraus,

Michael

0 Kudos
1 Reply
StefanSchulz
I'm new here

Hallo,

genauso wie das Datum aus einem Entity herausgelesen wird, muss es natürlich auch wieder zurückgeschrieben werden (Entity#setValue()), sonst wird sich das Entity nicht ändern. Diese direkten Zugriffsmöglichkeiten auf die Datenbankrepräsentationsschicht liegen genau so wie der EditorWrapper (und in dem Skript kommentiert) nicht in der API (und werden derart auch nicht in die API gehoben und sind somit potentiell zukünftig nicht mehr oder anders vorhanden).

Der offene Weg wäre, mit einer zur Tabelle passenden Datenquelle zu arbeiten (Content2 Interface). Von dort kommt man über Content2#getDataset(Entity) an die Dataset-API, eine Kapsel, mit der man das darunter liegende Entity wie jedes andere StoreElement bedienen kann.

Gruß

Stefan

0 Kudos