public function render(array $data, ContextInterface $context)
{
$data += ['name' => '', 'val' => null, 'type' => 'select', 'escape' => true, 'class' => '', 'templateVars' => []];
$data['value'] = $data['val'];
$data['type'] = 'select';
$data['class'] = $this->_generateFieldClass('ft-select2', str_replace(['[', ']'], '', $data['name']));
$data['options'] = $this->_optionsOptions($data['name'], $data);
//debug($data);
$ftOptions = isset($data['ftOptions']) ? $data['ftOptions'] : [];
if (!isset($ftOptions['theme'])) {
$ftOptions['theme'] = 'bootstrap';
}
// Clean data
unset($data['ftOptions']);
unset($data['col']);
// Script/styles include
echo $this->_View->Html->css('FieldTypes.../vendor/select2/dist/css/select2.min.css', ['block' => 'css']);
echo $this->_View->Html->css('FieldTypes.../vendor/select2-bootstrap-theme/dist/select2-bootstrap.min.css', ['block' => 'css']);
echo $this->_View->Html->script('FieldTypes.../vendor/select2/dist/js/select2.full.min.js', ['block' => 'headjs']);
// Script call
$this->_View->Html->scriptStart(['block' => true]);
echo '$(document).ready(function() { $(".' . $data['class'] . '").select2(' . json_encode($ftOptions, true) . ') });';
$this->_View->Html->scriptEnd();
return parent::render($data, $context);
}