Toggle
Yes/no or on/off toggle
The toggle field is perfect for simple on/off or yes/no states.

Example
fields:
toggle:
label: Include in menu?
type: toggle
text:
- "no"
- "yes"
Field properties
Name | Type | Default | Description |
---|---|---|---|
$after | mixed |
null
|
Optional text that will be shown after the input |
$autofocus | bool |
null
|
Sets the focus on this field when the form loads. Only the first field with this label gets |
$before | mixed |
null
|
Optional text that will be shown before the input |
$default | mixed |
null
|
Default value which will be saved when a new page/user/file is created |
$disabled | bool |
null
|
If true , the field is no longer editable and will not be saved |
$help | mixed |
null
|
Optional help text below the field |
$icon | string |
null
|
Optional icon that will be shown at the end of the field |
$label | mixed |
null
|
The field label can be set as string or associative array with translations |
$required | bool |
null
|
If true , the field has to be filled in correctly to be saved. |
$text | mixed |
null
|
Sets the text next to the toggle. The text can be a string or an array of two options. The first one is the negative text and the second one the positive. The text will automatically switch when the toggle is triggered. |
$translate | bool |
true
|
If false , the field will be disabled in non-default languages and cannot be translated. This is only relevant in multi-language setups. |
$when | mixed |
null
|
Conditions when the field will be shown (since 3.1.0) |
$width | string |
'1/1'
|
The width of the field in the field grid, e.g. 1/1 , 1/2 , 1/3 , 1/4 , 2/3 , 3/4
|
Simple toggle field translated
fields:
toggle:
label: Toggle
type: toggle
text:
en: Include in menu?
de: Im Menü anzeigen?
Toggle text
fields:
toggle:
label: Toggle
type: toggle
text:
- Nope
- Yay
Note: The values No
and Yes
will not work out of the box as the YAML parser will interpret them as booleans. You need to quote them as "No"
and "Yes"
.
Translated text
fields:
toggle:
label: Toggle
type: toggle
text:
-
en: Nope
de: Och nö
-
en: Yay
de: Juhu
The field content will either be 'true' or 'false'.
Text from query
fields:
toggle:
label: Toggle
type: toggle
text: "{{ page.toggleText }}"
How to use in templates/snippet
Convert to a proper boolean:
$bool = $page->toggle()->toBool();
Do something depending on field value:
<?php
if ($page->toggle()->toBool() === true) {
// do this
} else {
// do that
}