Hiding Templates From The Control Panel

Creating a simple to use system for adding content in any CMS is really important. The easier it is to add content the less support questions you will have to answer from confused clients. The control panel for Statamic has been built with all this in mind, it has a simple to use system which displays a visual hierarchy of all the sites content.

When you are setting up your site you will undoubtedly have several different templates for displaying the content and it will be necessary to use the template field type to enable your client to choose which template you would like them to use for rendering the content. To do this you need to set up a template fieldtype in your fields.yaml file using the following YAML:

_template:            # note the prefixed _underscore
  display: Template
  type: templates

This will now output all your templates as a dropdown in the control panel.

Limiting The Number Of Templates To Choose From

What if you only want to display a couple of templates for the client to choose from? The answer is simple you set the type to select rather than templates and set which templates you would like to display as the options:

_template:
  display: Template
  type: select
  options:
    - template_one
    - template_two

Or if you would like different names to the ones you have used to name the templates you could use:


    
  
    
      

Thank you to Wolfram Gehring @marflow on Twitter for this quick tip.

Hiding Templates Completely But Selecting The Correct One

You may want to hide the option of selecting a template completely but still have the requirement to set which template to use. This again is really simple using the hidden fieldtype. Here is what you would put in your fields file:

_template:
  type: hidden
  default: template_name

Remember that spacing in your YAML files is really important so make sure that you always indent using two spaces. So there you have it, two super quick and easy ways to work with your templates in Statamic.