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

README.md

kirby-variables-field

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

Installation

composer require oblik/kirby-variables-field

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

Usage

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:

fields:
  vars:
    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.

Options

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

variable

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

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

...and this in your blueprint:

myfield:
  type: variables
  variable: greetings.hello
  label: Hello

...you'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

...to:

variable: greetings

This will show the variable editor instead.

editor

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

myfield:
  type: variables
  editor:
    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.

KirbyTag

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

en.yml:

labels:
  test: Test

In your content:

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

Result:

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.