Loading...

Last updated: Oct 30 2018

Area: Episerver CMS Applies to versions: 11.4.0 and higher

On-page editing with client-side rendering

Episerver offers some features to make client-side rendering easier. These features are framework agnostic, so they can be used with any JavaScript framework, such as Angular, React, or Vue.

Note: Beta features must be enabled in order to take full advantage of these features. 

Editing HTML attributes

CMS UI includes three HTML attributes that can be added to editable DOM elements:

  • data-epi-property-name="YourProperty"
    This attribute marks an element for editing
  • data-epi-property-render="none"
    This attribute prevents the DOM from being modified directly when editing
  • data-epi-property-edittype="floating"
    This attribute creates a dialog for editing, and should be used for string types

Re-rendering

To know when to re-render, subscribe to the topic beta/contentSaved. The controller must contain the attribute [RequireClientResources] unless it inherits from either PageController or ContentController, as these both include the attribute by default. Then the resources need to be required in a razor view with other scripts for the site using @Html.RequiredClientResources("Footer").

Handling context modes

In order to properly apply edit overlays and enable/disable client-side routing as needed, the client requires some sort of indicator of the current context mode. Episerver provides an epi.beta object for this purpose with the following properties:

  • inEditMode
    True in both edit mode and preview mode
  • isEditable
    True in edit mode and false in preview mode
  • ready
    True if the beta object is available. Otherwise, subscribe to beta/epiReady to get the beta object as soon as it is available

Content delivery API

Episerver has released a content delivery API to make a headless implementation even easier. Check out the documentation.

SPA template site (New in CMS UI 11.11.0)

To demonstrate some useful concepts when creating a Single Page Application with working on-page editing, see the MusicFestical SPA template site on Github. For descriptions of the template site, see the blog post Introducing a new SPA template site: MusicFestival.

Related Topics

Blog Posts


Do you have feedback on this documentation? Send an email to documentation@episerver.com. For development-related questions and discussions, refer to our Forums on https://world.episerver.com/forum/