diff --git a/src/Listener/Dca/LayerDcaListener.php b/src/Listener/Dca/LayerDcaListener.php index d87e6ef..8e79bf3 100644 --- a/src/Listener/Dca/LayerDcaListener.php +++ b/src/Listener/Dca/LayerDcaListener.php @@ -17,6 +17,7 @@ use Contao\Image; use Contao\StringUtil; use Doctrine\DBAL\Connection; use Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer\LayerLabelRenderer; +use Netzmacht\Contao\Leaflet\Model\IconModel; use Netzmacht\Contao\Toolkit\Dca\Listener\AbstractListener; use Netzmacht\Contao\Toolkit\Dca\Manager; use Netzmacht\Contao\Toolkit\Dca\Options\OptionsBuilder; @@ -373,6 +374,24 @@ class LayerDcaListener extends AbstractListener return $this->amenities; } + /** + * Get all icons. + * + * @return array + */ + public function getIcons() + { + $collection = IconModel::findAll(array('order' => 'title')); + $builder = OptionsBuilder::fromCollection( + $collection, + function ($model) { + return sprintf('%s [%s]', $model['title'], $model['type']); + } + ); + + return $builder->getOptions(); + } + /** * Generate a button. * diff --git a/src/Resources/contao/dca/tl_leaflet_layer.php b/src/Resources/contao/dca/tl_leaflet_layer.php index 31a45dc..a92d6a3 100644 --- a/src/Resources/contao/dca/tl_leaflet_layer.php +++ b/src/Resources/contao/dca/tl_leaflet_layer.php @@ -803,7 +803,7 @@ $GLOBALS['TL_DCA']['tl_leaflet_layer'] = [ 'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['amenityIcons'], 'exclude' => true, 'inputType' => 'multiColumnWizard', - 'options_callback' => ['Netzmacht\Contao\Leaflet\Dca\MarkerCallbacks', 'getIcons'], + 'options_callback' => ['netzmacht.contao_leaflet_maps.listeners.dca.layer', 'getIcons'], 'eval' => [ 'columnFields' => [ 'amenity' => [ @@ -822,7 +822,7 @@ $GLOBALS['TL_DCA']['tl_leaflet_layer'] = [ 'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['amenityIcon'], 'exclude' => true, 'inputType' => 'select', - 'options_callback' => ['Netzmacht\Contao\Leaflet\Dca\MarkerCallbacks', 'getIcons'], + 'options_callback' => ['netzmacht.contao_leaflet_maps.listeners.dca.layer', 'getIcons'], 'eval' => [ 'mandatory' => true, 'tl_class' => 'w50',