Creating a Theme

New Themes

In order to create a Coaster CMS theme you will need two folders named the same (i.e. mytheme).

One folder goes in resources/views and the other goes in public/themes.

The required structure of these folders can be found in Views / Template page.

Once the structure is created, you can then create your theme templates, blocks, menus and sections using the instructions found in these documentation pages.

Existing Themes

Alternatively you can install an existing theme. These come uploaded by default if you install the coastercms project.

To manually add a theme just upload the zip file to the /resources/themes/ folder in the root of your project.

Coaster2016

Default (minimal theme)

Making Changes

You can then go to the "Themes" menu item in the admin of your site, select your theme (mytheme) and click 'Review and Update'.

This will then show you a list of all the blocks the system has found within your templates. Any blocks in green will be new blocks to Coaster. You can review the block type guesses and change by using the dropdown - the system will guess the block type based on the name of your block using the following array:

  $typesArr = [
            'video' => ['vid'],
            'text' => ['text', 'desc', 'keywords', 'intro', 'address', 'html'],
            'richtext' => ['richtext', 'content', 'copy'],
            'image' => ['image', 'img', 'banner'],
            'link' => ['link', 'url'],
            'datetime' => ['date', 'datetime'],
            'string' => ['link_text', 'caption', 'title'],
            'form' => ['form', 'contact']
        ];

After you are happy with the block types and labels (for the admin fields), click Update at the bottom of the table and your templates and blocks will be saved to Coaster.

It will also scan for types of blocks within the themes/[mytheme]/blocks/repeaters folder so that repeating content blocks will be available to your users on the templates you have included them on.

You can review/change update the block types from here at any time.

Modern Framework

Based on Laravel 5

Constant development

Additional features always being planned/researched

Open source

"git" involved

Latest from the blog


read more


read more


read more