Select Icons
Security covered
This module allows developers to create custom select elements within Drupal's Form API that display icons next to each option. It uses jQuery UI to enhance the standard select functionality, enabling visual representation for choices.
This module provides a Form API select element with icons using jQuery UI.
This module is for developers only. It does not provide any user functionality.
With Select icons you can easily create select element with icons of your choice
using nothing but drupal Forms API and some CSS:
$form['fancy_select'] = [
'#type' => 'select_icons',
'#title' => $this->t('Color'),
'#options' => [
'r' => $this->t('Red'),
'g' => $this->t('Green'),
'b' => $this->t('Blue'),
],
// This is where magic happens:
// CSS classes from 'data-class' attribute are used in JavaScript
// when building jQuery UI selectmenu widget.
'#options_attributes' => [
'r' => new Attribute(['data-class' => ['color', 'red']]),
'g' => new Attribute(['data-class' => ['color', 'green']]),
'b' => new Attribute(['data-class' => ['color', 'blue']]),
],
// Don't forget to add proper CSS that will provide icons.
// It is recommended to use sprite sheets for better performance.
'#attached' => [ 'library' => ['my/colors'] ],
];
Requirements
Similar projects and how they are different
- Select2 Boxes - Select2 Boxes integrates with Select2 library and provides field widget plugins while Select Icons integrates with jQuery UI and is for developer.