unclecheese/silverstripe-image-optionset

Provides a list of selectable items that use images as the primary label instead of text.

Installs: 1 646

Dependents: 2

Suggesters: 0

Stars: 13

Watchers: 1

Forks: 4

Open Issues: 2

Type:silverstripe-vendormodule

2.0 2018-02-09 11:01 UTC

README

Provides a list of selectable items that use images as the primary label instead of text.

Screenshot

example.png

Installation

composer require unclecheese/silverstripe-image-optionset

Configuration

You can configure the default width and height of the images.

UncleCheese\Forms\ImageOptionsetField:
  default_image_width: 300
  default_image_height: 300

Usage

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

tests/ImageOptionsetFieldTest

Troubleshooting

Ring Uncle Cheese.