Skip to content
Panel field that allows you to change language variables.
Branch: master
Clone or download


Field for Kirby 3 that allows you to manage langauge variables via the panel. To do that, it uses kirby-easyvars to put those variables in YAML files so they're easy to work with.

Variables editor


composer require oblik/kirby-variables-field

...or check out the other plugin installation methods.


Important: Make sure to configure your variables correctly by putting them in YAML files. Read here to learn how.

In a blueprint, simply add a new field and set its type to variables:

    type: variables
    label: Variables

This will create an editor for all variables where you can add new ones, or remove and sort them.

Note: This is a "fake" field and no actual value will be saved in the site/page txt file. All values are saved in the YAML files provided by easyvars where the variables reside. This means that it doesn't matter what field name you choose for the variables field.


Before looking at the options, it's recommended to read through the kirby-easyvars documentation to know how it changes the workflow with variables.


You can specify exactly which variable you want to be editable. For example, if you have this in bg.yml:

test: Тест
  hello: Здравей

...and this in your blueprint:

  type: variables
  variable: greetings.hello
  label: Hello'll get the following result:

Single variable field

In the case above, if you want editors to be able to add new entries in the greetings group, you can simply change:

variable: greetings.hello

variable: greetings

This will show the variable editor instead.


When you've specified a group of variables to edit and the editor is shown, you can configure it:

  type: variables
    sort: false
    mutate: false

All editor options are:

  • keys whether object keys are editable. Default: false.
  • values whether values are editable. Default: true.
  • sort whether you can sort the variables. Default: true.
  • mutate whether you can add/remove entries. Default: true.


This field also comes with a KirbyTag, called var. It simply outputs a variable with a fallback default value. For example:


  test: Test

In your content:

This is the label (var: labels.test default: Default Value)


This is the label Test

This is useful because editors can create variables and use them in the content, instead of repeating themselves.

You can’t perform that action at this time.