You can enable contextual editing of an SPA to allow content contributors to browse to the app for editing in Page Composer, navigate inside the app, and edit content directly in the app.
If your SPA resides on a standalone application, you should move or embed the SPA inside a Jahia module. For example, move the SPA directly inside your [spa_name]-dx-module
.
For example, if your SPA consists of a JavaScript SPA and simple bootstrapping HTML, you can copy the HTML code into a page template and then create a Jahia page named spa_name. Then, the JavaScript will be bundled inside the module.
To create a page template:
After creating your page template, modify the application so that you can open it for editing in Jahia.
The app can detect that is in an edit frame by checking for the presence of window.parent.jahiaGWTParameters
. If Page Composer is detected, you should switch the router to memory or hash to avoid conflicts with the edit frame.
Finally, you can add Edit buttons to specific sections of the application. Modify the button so that it calls:
window.parent.authoringApi.editContent(path, displayableName, type, inheritedTypes, uuid)
Example
window.parent.authoringApi.editContent('/sites/digitall/contents/destinations/xyz', 'XYZ xyz', ['jnt:content'], ['gant:destination'], 'f9fa345e-a579-4d69-a896-4a69e7aa33f1')
Where:
path
the path of the contentdisplayableName
the displayable name of the contenttype
the base type of the contentinheritedTypes
the inherited types of the contentuuid
the identifier of the contentWe can also call directly the API of the content editor to modify the content, you can refer to this link Open Content Editor UI
Copyrights © 2002-2020 All Rights Reserved by Jahia Solutions Group SA