Content Management Features of Devise

A key feature of Devise is the built-in content management system for modeless data. These are areas of your design that you want to give your customers the ability to edit but don't have to be related to anything in particular. Devise provides a bunch of essential editors out of the box and you can even create your own if you need something unique.

Image Management

Devise comes with a robust media manager which provides your customers with a dead-simple interface for organizing their images and videos. Developers can use original images, thumbnail versions, or both in their templates. The built-in cropper is amazing and even allows you to set ratio rules so that your clients don't *ahem* screw up your layout.

Video Management

Many web applications need to host their own video. Maybe this is due to privacy, permissions, or maybe you just can't stand seeing the YouTube player embedded in your beautiful flat-ui design. Devise automatically encodes videos uploaded by content managers based on the settings the developer has specified. This ensures customers can upload most popular codecs and containers and it will be handled and embedded correctly as soon as it has been transcoded.


Utilizing the very best web-based WYSIWYG editor, CKEditor, Devise gives your customers the same level of control you are used to in other content management systems. The key difference is that the content entered into the WYSIWYG only effects the areas you dictate. This means it could be the entire content area of a generic template or a small couple paragraphs that may just need Bold, Italic, and Underline capabilities.

Maps / Locations / Geo

Quickly integrate geo-location into the application with the maps module. This allows users to set the latitude and longitude via address reverse-lookup or by clicking anywhere on a map and dropping a pin. It's a great tool to add meta information to any piece of data, power a embedded map, or show the location of events.

Other Amazingly Useful Editors

Audio: Audio files can be uploaded and transcoded into all major web formats automatically. Your clients do not have to think about anything.

Checkbox: Just a good on / off toggle to use for.. well, whatever. Hide / Show parts of your layout, large or small, columns or not. You get it.

Radio/Selects: Give your content manager a select list of images, heading sizes, number of posts to show on the blog you build.

Date & Time Pickers: Easy-to-use calendar module that pops up. It includes every day of the year.

Color Picker: A no-headache tool to provide a way to select colors for backgrounds and text colors simply and easily.

Textarea: Sometimes you don't want or need content editors to have the robustness of a WYSIWYG editor. You just want copy with no formatting. The textarea module is a great way to keep it simple.

Links: Links have multiple attributes including link text, url, and the target.

Files: (In Development) Upload any kind of file and limit the the type by configuring the mime-type filter.

Text Field: About as simple as it gets. It may just be a string of text but we use this tool all over our projects.

Code: Need to embed a snippet of code?

Let's Do It!

Implementing content management editors could not be any easier but there are a few things you need to do to setup your templates.

  1. In your <head> use the Blade include directive like so @include('devise::styles'). No PHP tags need to be around it. Laravel will do the lifting here for you.
  2. Before the </body> include the Devise JavaScript using @include('devise::scripts).
  3. Add a Devise tag to the tag you want to edit. For example:
    <p data-devise="aCustomName, textarea, My Editable Paragraph">Lorem Ipsum</p>
  4. Add the echo to the area that you want the content to appear. For example:
    <p data-devise="aCustomName, textarea, My Editable Paragraph">{{ $page->aCustomName->text('Lorem Ipsum') }}</p>
Learn More

More Information On All the Tools At Your Disposal

Because Devise comes with a wide range of tools that you can use to manipulate your design we suggest checking out the Fields section of the documentation. This will give you the full list of tools and what is available when outputting them to your templates. Remember, you can be creative with these. Checkboxes, for instance, can be used to hide or show particular sections of a template so you can use the same template to power multiple pages. This saves you time and gives your client the ability to grow and expand their website quickly and easily.

Field Types Documentation
When Simple Gets More Complex

Collections and Groups for Ultimate Flexability

Editable areas are easy to implement and for meta pages that are not necessarily powered by data (this page for instance) they can really give your client a lot of flexibility. But what happens when you have 30 editable areas on a page? Or what if you don’t know how many instances of a section will appear on a page? Grouping allows you to put an entire section under a single editor arrow. Collections allow your content manager to create as many of those groups as they want. Check out the documentation for more examples.

Collections Groups
Devise Logo and
Copyright © 2015 LBM

Devise content management system source code under MIT License
"Impediment to action advances action.
What stands in the way becomes the way"