Provides a list of selectable items that use images as the primary label instead of text.
composer require unclecheese/silverstripe-image-optionset
You can configure the default width and height of the images.
UncleCheese\Forms\ImageOptionsetField:
default_image_width: 300
default_image_height: 300
Simple example:
$field = ImageOptionsetField::create('Template', 'Select a template')
->setSource([
'sidebar' => [
'title' => 'Sidebar page',
'image' => '/path/to/sidebar.png'
],
'block' => [
'title' => 'Block page',
'image' => '/path/to/block.png'
]
]);
// Use a custom image width and height
$field->setImageWidth(100);
$field->setImageHeight(100);
If you're not using titles, you can use image paths as the values rather than nested arrays.
$field = ImageOptionsetField::create('Template', 'Select a template')
->setSource([
'sidebar' => '/path/to/sidebar.png'
'block' => '/path/to/block.png'
]);
tests/ImageOptionsetFieldTest
Ring Uncle Cheese.