MetaModels\DcGeneral\Events\Table\RenderSetting\Subscriber::getTemplateOptions PHP Method

getTemplateOptions() public method

Provide options for default selection.
public getTemplateOptions ( ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\Event\GetPropertyOptionsEvent $event ) : void
$event ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\Event\GetPropertyOptionsEvent The event.
return void
    public function getTemplateOptions(GetPropertyOptionsEvent $event)
    {
        if ($event->getEnvironment()->getDataDefinition()->getName() !== 'tl_metamodel_rendersetting' || $event->getPropertyName() !== 'template') {
            return;
        }
        $model = $event->getModel();
        $parentProvider = $event->getEnvironment()->getDataProvider('tl_metamodel_rendersettings');
        $renderSettings = $parentProvider->fetch($parentProvider->getEmptyConfig()->setId($model->getProperty('pid')));
        $metaModel = $this->getMetaModelById($renderSettings->getProperty('pid'));
        $attribute = $metaModel->getAttributeById($model->getProperty('attr_id'));
        if (!$attribute) {
            return;
        }
        $list = new TemplateList();
        $list->setServiceContainer($this->getServiceContainer());
        $event->setOptions($list->getTemplatesForBase('mm_attr_' . $attribute->get('type')));
    }