MetaModels\DcGeneral\Events\Table\RenderSettings\Subscriber::buildJumpToWidget PHP Метод

buildJumpToWidget() публичный Метод

Provide options for template selection.
public buildJumpToWidget ( ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\Event\BuildWidgetEvent $event ) : void
$event ContaoCommunityAlliance\DcGeneral\Contao\View\Contao2BackendView\Event\BuildWidgetEvent The event.
Результат void
    public function buildJumpToWidget(BuildWidgetEvent $event)
    {
        if ($event->getEnvironment()->getDataDefinition()->getName() !== 'tl_metamodel_rendersettings' || $event->getProperty()->getName() !== 'jumpTo') {
            return;
        }
        $model = $event->getModel();
        $metaModel = $this->getMetaModelById($model->getProperty('pid'));
        $translator = $event->getEnvironment()->getTranslator();
        $extra = $event->getProperty()->getExtra();
        if ($metaModel->isTranslated()) {
            $arrLanguages = array();
            foreach ((array) $metaModel->getAvailableLanguages() as $strLangCode) {
                $arrLanguages[$strLangCode] = $translator->translate('LNG.' . $strLangCode, 'languages');
            }
            asort($arrLanguages);
            $extra['minCount'] = count($arrLanguages);
            $extra['maxCount'] = count($arrLanguages);
            $extra['columnFields']['langcode']['options'] = $arrLanguages;
        } else {
            $extra['minCount'] = 1;
            $extra['maxCount'] = 1;
            $extra['columnFields']['langcode']['options'] = array('xx' => $GLOBALS['TL_LANG']['tl_metamodel_rendersettings']['jumpTo_allLanguages']);
        }
        $extra['columnFields']['filter']['options'] = self::getFilterSettings($model);
        $event->getProperty()->setExtra($extra);
    }