Skip to content

A fieldtype that allows you to select a template from a dropdown.

License

Notifications You must be signed in to change notification settings

helloswish/template-selector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Template Selector plugin for Craft CMS 3.x/4.x/5.x

A fieldtype that allows you to select a template from a dropdown.

Requirements

This plugin requires Craft CMS 3.0.0-beta.23 or later, Craft CMS ^4.0.0-alpha.1, or Craft CMS ^5.0.x-dev or later.

Please note this plugin requires PHP 8.x.

Installation

To install the plugin, select and install the plugin from the Craft Plugin Store, or follow these instructions:

  1. Open your terminal and go to your Craft project:

     cd /path/to/project
    
  2. Then tell Composer to load the plugin:

     composer require swishdigital/template-selector
    
  3. In the Control Panel, go to Settings → Plugins and click the “Install” button for Template Selector.

Migrating from Template Select plugin by Siperbig

  1. Remove the Template Select plugin without changing any attributes of your fields.

  2. Uninstall the Template Select plugin.

  3. Install Template Selector. All of your fields will continue to work and data from the provious fieldtype will remain intact.

Configuring Template Selector

Create a new field and choose field type Template Selector.

In the field settings, you can limit the list of available templates to a subfolder of the Craft templates folder. The path is relative, i.e. subfolder/anotherfolder. This may also be set to an ENV variable.

Screenshot

Screenshot

In the field settings, you can choose to make the template names more user friendly. In the field, file extensions will be removed, and the file names properly capitalized and spaced for readability.

Screenshot

Screenshot

Using Template Selector

Output the chosen template name:

{{ entry.fieldHandle }}

Include/Embed the chosen template:

{% include entry.fieldHandle %} or {% include 'myFolder/anotherFolder/' ~ entry.fieldHandle %}

Output the subfolder name:

{{ craft.templateSelector.subfolder('fieldHandle') }}

Include/Embed more dynamically:

{% include craft.templateSelector.subfolder('fieldHandle') ~ '/' ~ entry.fieldHandle %}

More Info

Brought to you by Swish Digital

This is an updated and enhanced version of the Template Select plugin by Superbig

About

A fieldtype that allows you to select a template from a dropdown.

Resources

License

Stars

Watchers

Forks

Packages

No packages published