martinmueller
I'm new here

Wie ein neue Absatzvorlage zu einem Inhaltsbereich hinzufügen?

Jump to solution

Hallo,

ich möchte über die TPP eine neue Absatzvorlage in einen Inhaltsbereich einfügen. Leider ist in der Doku nicht ganz ersichtlich wie das funktionieren soll.

Meine erste Idee war, das ganze über Operation.showEditDialog('<previewId>') zu machen, wobei die previewId zum Inhaltsbereich gehört, den ich wie folgt rausgeneriert habe:

Greenshot 2018-02-15 12.25.09.png

ergibt:

Greenshot 2018-02-15 12.25.34.png

Das funktioniert bei der PreviewId von der Seite auch ganz gut. Mit der PreviewId von einzelnen Inhaltsbereichen klappt es jedoch gar nicht. Ich bekomme keine Fehlermeldung und auch sonst nichts zurück.

Zusätzlich habe ich verschiedene Varianten von Operation.createChildSection() probiert, bekomme dort aber alles mögliche an Fehlermeldungen (von Java-Cast-Exceptions bis zu einfach undefined) zurück.

z.B.:

TPP_API.Operation.createChildSection('<previewId>',

     document.getElementById('main'),

     {

          template: 'content_page',

          path:'root/module_test/startseite/startpage_1',

          body:'main',

          language: 'de',

          uid:'content_page',

          sectionName:'standard_text'

})

Ich möchte natürlich auch eigentlich nicht, dass ich den SectionName schon übergeben muss. Die Section soll sich der Redakteur ja eigentlich selber aussuchen. So wie im normalen ContentCreator auch.

Ist das überhaupt der richtige Weg um Sections zu einem Inhaltsbereich hinzuzufügen? Oder muss ich da eine andere Funktion verwenden?

Danke im Voraus

Martin

0 Kudos
1 Solution

Accepted Solutions

TPP_API.Operation.createChildSection('<page-preview-id>',

document.getElementById('main'),

{

template: 'content_page',

path:'root/module_test/pattern_library_overview_1',

body:'main',

language: 'de',

uid:'text_standard', // <- UID vom SectionTemplate "standard_text"

sectionName:'standard_text'

})


So muss es aussehen:

TPP_API.Operation.createChildSection('<page-preview-id>',

document.getElementById('main'),

{

template: 'text_standard',

path:'root/module_test/pattern_library_overview_1',

body:'main',

language: 'de',

sectionName:'standard_text'

})

[EDIT] Hier die unterstützten Parameter: fs-tpp-api 1.0.0 | Documentation

Peter

View solution in original post

0 Kudos
12 Replies
rebbert
I'm new here

Die zweite Variante mit TPP_API.Operation.createChildSection ist der richtige Weg.

Daher wäre es interessant, welche Fehlermeldungen dort genau kommen.

Die previewId, die dort übergeben wird, muss die previewId der Page und nicht die des Bodys sein.

D.h. im genannten Fall würde wahrscheinlich das hier reichen:

$CMS_VALUE(previewId())$

0 Kudos

Falls noch nicht bekannt, die Doku zu JS Api findest du hier: fs-tpp-api 1.0.0 | Documentation

Die Doku zur previewId() Funktion ist an dieser Stelle mißverständlich, da ein body Element als Beispiel gezeigt wird: Third Party Preview

0 Kudos

Hi Moritz,

danke für die Antwort. Das hatte ich probiert, aber folgende Fehlermeldung zurück bekommen:

Greenshot 2018-02-16 13.30.07.png

Im CC wird folgendes angezeigt:

Greenshot 2018-02-16 13.30.47.png

Ich habe die PreviewId der Seite übergeben. Diese wird mit $CMS_VALUE(previewId())$ aus der Seitenvorlage generiert.

Den Wert von "path" hab ich jeweils einmal aus dem grünen und einmal aus dem blauen Bereich probiert. Die Fehlermeldung ist die gleiche.

Woran könnte es noch liegen? liegt es evtl. an den anderen parametern?

Grüße

Martin

0 Kudos

Hallo Martin,
was steckt denn hinter "content_page" (Parameter "template")?

LG, Peter

Peter
0 Kudos

Hi, das ist der Referenzname der Seitenvorlage.

Grüße

Martin

0 Kudos

Da muss die uid eines passenden section templates übergeben werden.

0 Kudos

Hier noch ein Link zu einem Code-Beispiel: fs-tpp-api 1.0.0 | Documentation

Peter
0 Kudos

Hi,

da kommt leider die gleiche Fehlermeldung.

Call:

TPP_API.Operation.createChildSection('<page-preview-id>',

     document.getElementById('main'),

     {

          template: 'content_page',

          path:'root/module_test/pattern_library_overview_1',

          body:'main',

          language: 'de',

          uid:'text_standard', // <- UID vom SectionTemplate "standard_text"

          sectionName:'standard_text'

})

Grüße, Martin

0 Kudos

TPP_API.Operation.createChildSection('<page-preview-id>',

document.getElementById('main'),

{

template: 'content_page',

path:'root/module_test/pattern_library_overview_1',

body:'main',

language: 'de',

uid:'text_standard', // <- UID vom SectionTemplate "standard_text"

sectionName:'standard_text'

})


So muss es aussehen:

TPP_API.Operation.createChildSection('<page-preview-id>',

document.getElementById('main'),

{

template: 'text_standard',

path:'root/module_test/pattern_library_overview_1',

body:'main',

language: 'de',

sectionName:'standard_text'

})

[EDIT] Hier die unterstützten Parameter: fs-tpp-api 1.0.0 | Documentation

Peter
0 Kudos