Table of Contents
Questo è un campo ripetibile:
'card_items' => [
'type' => 'repeatable',
'title' => Text::_('Card anteprima'),
'attr' => [
'addon_image' => [
'type' => 'media',
'title' => Text::_('Immagine di sfondo card'),
],
'subtitle' => [
'type' => 'text',
'title' => Text::_('Sottotitolo card'),
],
'addon_title' => [
'type' => 'text',
'title' => Text::_('Titolo card'),
],
'addon_text' => [
'type' => 'editor',
'title' => Text::_('Testo card'),
],
'addon_link' => [
'type' => 'link',
'link_popup' => true,
'title' => Text::_('URL card'),
'mediaType' => 'attachment'
],
],
],
Questi campi permettono di inserire più elementi di uno stesso tipo e con i stessi campi, come nell’esempio sotto.

Per creare un campo ripetibile serve:
'card_items' => [
'type' => 'repeatable',
'title' => Text::_('Card anteprima'),
'attr' => [
- Specificare un nome unico del campo ripetibile, proprio come per gli altri campi;
- Specificare che è un campo ripetibile utilizzando ‘type’ => ‘repeatable’;
- ‘attr’, che contiene gli input da riempire per ogni campo ripetibile.
Stampare i valori dei campi ripetibili #
Essendo i campi ripetibili dentro un array, non possono essere stampati nel site.php come campi normali ma devono essere ciclati con un foreach.
Usando come esempio i campi ripetibili visti prima, ecco il foreach per stamparli:
foreach ($settings->card_items as $card) {...}
card_items (il nome unico del campo ripetibile) contiene l’array. Dentro il foreach i valori dei singoli campi possono poi essere stampati in questo modo:
$card->subtitle
$card->addon_title
$card->addon_text
quindi utilizzando il nome unico dell’input all’interno del campo ripetibile.