silverstripe-australia / frontend-editing
A module that allows HTML fields to be edited via a frontend, in-place wysiwyg interface.
Installs: 409
Dependents: 0
Suggesters: 0
Security: 0
Stars: 23
Watchers: 4
Forks: 4
Open Issues: 6
Language:JavaScript
Type:silverstripe-module
Requires
- silverstripe/framework: 3.1.*
This package is auto-updated.
Last update: 2024-10-29 04:03:59 UTC
README
Maintainer Contact
Marcus Nyeholt
<marcus (at) silverstripe (dot) com (dot) au>
Requirements
SilverStripe 3.0
Documentation
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
---
SiteTree:
extensions:
- 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
$EditableField(Content)
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 %>
- $EditableControl(Title) <% 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.
API
Defining new plugins for the editor
@TODO - for now, see nicedit-image-selector.js or nicedit-url-selector.js as examples.
Troubleshooting
- Appending
?stage=Stage&startEditing=true
to the current URL will open the editor immediately; if this does not happen, check your JS error console!