swishdigital / template-selector
A fieldtype that allows you to select a template from a dropdown.
Installs: 4 511
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 2
Open Issues: 0
Type:craft-plugin
Requires
- craftcms/cms: ^3.0.0|^4.0.0-alpha.1|^5.0.x-dev|^5.0.0
README
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:
-
Open your terminal and go to your Craft project:
cd /path/to/project
-
Then tell Composer to load the plugin:
composer require swishdigital/template-selector
-
In the Control Panel, go to Settings → Plugins and click the “Install” button for Template Selector.
Migrating from Template Select plugin by Siperbig
-
Remove the Template Select plugin without changing any attributes of your fields.
-
Uninstall the Template Select plugin.
-
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.
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.
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