Questions & Answers

SOLVED
julia
I'm new here

Wie komme ich an das SectionImpl Object eines Catalog Item per API ran

Jump to solution

Hallo zusammen,

wir fรผhren eine Migration der Absรคtze durch. Wir haben eine Absatzvorlage SectionTemplate_1 (die dazugehรถrigen Absรคtze nennen wir hier Section_1). SectionTemplate_1 enthรคlt ein Catalog, dieser erlaubt eine Reihe an SectionTemplates (z.B. SectionTemplate_1A). Jetzt habe ich gedacht ich hole mir per API alle Absรคtze (Section_1A) der SectionTemplate_1A und arbeite bei der Migration auf dieser Ebene. Kopiere Daten hin und her und setzte am Ende noch eine andere sectionTemplate_1B Vorlage (โ€žAndere Vorlage wรคhlenโ€œ).

Jetzt kommt mein Problem:

Wenn ich SectionTemplate_1A. getIncomingReferences() aufrufe, komme ich an die Section_1A nicht ran, sondern an das obergeordnete Element Section_1. 
Meine Frage: 
Wie komme ich an das Section_1A Element und am Besten als Objekt einer SectionImpl (oder Interface Section), damit ich sowas wie section_1A.setTemplate aufrufen kann.

Jemand eine Idee? Oder vielleicht auch einen anderen Ansatz fรผr die Migration?

Danke im Voraus und GruรŸ,

Julia

1 Solution

Accepted Solutions
ncbruckner
Returning Observer

Hallo Julia,

du hast an der Stelle keine Section, sondern nur eine Catalog.Card. Du mรผsstest also รผber den Catalog iterieren und dir das Element suchen, dass du ersetzen willst. Dann kannst du รผber catalog.create(template1B, null) eine neue Catalog.Card erstellen. Die Daten mรผsstest du dann Feld fรผr Feld aus der alten Card auslesen und in die neue Card setzen. Wenn die Felder identisch sind, kรถnnte es auch klappten, dass du die neue Karte gleich mit catalog.create(template1B, formdata1A) erstellst.

Dann mรผsstest du die entsprechende Card im vorhandenen Catalog ersetzen kรถnnen.

Viele GrรผรŸe

Nina

View solution in original post

3 Replies
StefanSchulz
I'm new here

Hallo Julia,

ich bin nicht ganz sicher, was du genau wohin migrieren mรถchtest.

An ein Section_1A-Element kommst du jedenfalls nur ran, wenn es sich um einen Absatz handelt. Ein Catalog hat keine Absรคtze sondern hรคlt nur die Formulardaten, basierend auf der Formulardefinition der Vorlage. Da kommt man nur ran, wenn man das den Catalog beinhaltende Element (hier wohl ein Absatz) nimmt und das Formularfeld des Catalog ausliest.

Von wo nach wo mรถchtest du denn Daten migrieren? Und anscheinend ist auch eine Vorlagenmigration vorgesehen?

Beste GrรผรŸe

Stefan

0 Kudos
ncbruckner
Returning Observer

Hallo Julia,

du hast an der Stelle keine Section, sondern nur eine Catalog.Card. Du mรผsstest also รผber den Catalog iterieren und dir das Element suchen, dass du ersetzen willst. Dann kannst du รผber catalog.create(template1B, null) eine neue Catalog.Card erstellen. Die Daten mรผsstest du dann Feld fรผr Feld aus der alten Card auslesen und in die neue Card setzen. Wenn die Felder identisch sind, kรถnnte es auch klappten, dass du die neue Karte gleich mit catalog.create(template1B, formdata1A) erstellst.

Dann mรผsstest du die entsprechende Card im vorhandenen Catalog ersetzen kรถnnen.

Viele GrรผรŸe

Nina

julia
I'm new here

Vielen Dank fรผr Eure Antworten!

@Nina: "Wenn die Felder identisch sind, kรถnnte es auch klappten, dass du die neue Karte gleich mit catalog.create(template1B, formdata1A) erstellst."

---> Ja, tatsรคchlich klappt auch dies! Und die Felder die nicht identlisch sind, die Kopiere ich im Anschuss nach.

Mit der Lรถsung kriege ich am Ende auch hin, dass auf Card Ebene die neue Vorlage verwendet wird!

0 Kudos

Type a product name