Search the FirstSpirit Knowledge Base
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:
ergibt:
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
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
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())$
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
Hi Moritz,
danke für die Antwort. Das hatte ich probiert, aber folgende Fehlermeldung zurück bekommen:
Im CC wird folgendes angezeigt:
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
Hallo Martin,
was steckt denn hinter "content_page" (Parameter "template")?
LG, Peter
Hi, das ist der Referenzname der Seitenvorlage.
Grüße
Martin
Da muss die uid eines passenden section templates übergeben werden.
Hier noch ein Link zu einem Code-Beispiel: fs-tpp-api 1.0.0 | Documentation
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
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