Allows you to parse any text as a Twig template, with access to variables, from globals, entries, etc.
For Craft 3 support check out the v1 branch.
This plugin requires Craft CMS 4.0.0+ or 5.0.0+.
To install the plugin, 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 zizther/craft-dynamic-variables
-
In the Control Panel, go to Settings → Plugins and click the “Install” button for Dynamic Variables.
The filter and function allows you to output variables from Craft, globals, plugins and your configs.
You would reference the field as you would in a template with {{ }}
.
This plugin is limited to outputting text based fields, by default, however if you would like to reference the entry itself you can do this passing in the entry within the filter or function, You will be able to reference any field within the entry you pass in.
{% set entry = craft.entries({ id: 1 }).one() %}
{{ '{{ entry.title }}' | dv(entry) }}
{{ dv('{{ entry.title }}', entry) }}
Here are some example for using the filter and function.
Want to output the site name or site URL.
{{ '{{ siteName }} {{ siteUrl }}' | dv }}
{{ dv('{{ siteName }} {{ siteUrl }}') }}
If you want to output a global field, such as a telephone number.
{{ '{{ globalHandle.fieldHandle }}' | dv }}
{{ dv('{{ globalHandle.fieldHandle }}') }}
If you want to output field data from a plugin such as SEOmatic.
{{ '{{ seomatic.site.sameAsLinks["instagram"]["url"] }}' | dv }}
{{ dv('{{ seomatic.site.sameAsLinks["instagram"]["url"] }}') }}
Maybe you want to output a value from a config file, such as a custom value in the general.php file.
{{ '{{ craft.app.config.general.custom.variableName }}' | dv }}
{{ dv('{{ craft.app.config.general.custom.variableName }}') }}
Brought to you by Nathan Reed