Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A module to allow free editing of pages on the frontend of websites ssau-module
JavaScript CSS PHP Scheme
Branch: master

Added composer.json

And updated README information
latest commit 2cdc1a35e7
Marcus Nyeholt authored

Frontend Editing Module

Maintainer Contact

Marcus Nyeholt


SilverStripe 3.0


SilverStripe 2.4 version still available in the ss24 branch

The frontend editing module adds the ability to edit HTML based content on the frontend of your website. Developers specify in their templates the fields they want to be able to edit, add an include for buttons to help with switching between edit and standard views, and that's all there is to it.

Add the following to your project's configuration.yml file

Name: frontend_config
    - FrontendEditableExtension

In the templates for the page types you would like editable, add the following in place of raw output fields - for example, instead of $Content, use


As well as single fields of the current page, you can use it on other objects contained in a control block (so long as those objects have the EditableExtension)

<% control Items %>
<% end_control %>

Also in your template, add the following at the top. It includes some controls for initiating the editor (if you want them). You can provide your own mechanism for launching the editor, but this is simpler :)

<% include FrontendEditingControls %>

NOTE after adding the above, when navigating to a page in 'Live' mode, if you have edit access to the page, hovering your mouse over the bottom right corner of the screen will display controls for launching the edit mode. In "Stage" view, these controls should appear immediately.


Defining new plugins for the editor

@TODO - for now, see nicedit-image-selector.js or nicedit-url-selector.js as examples.


  • Appending ?stage=Stage&startEditing=true to the current URL will open the editor immediately; if this does not happen, check your JS error console!
Something went wrong with that request. Please try again.