addLegend('survey_legend', 'contact_legend', PaletteManipulator::POSITION_AFTER) ->addField('surveyCategories', 'survey_legend', PaletteManipulator::POSITION_APPEND) ->addField('assignedSurveys', 'survey_legend', PaletteManipulator::POSITION_APPEND) ->applyToPalette((string) $paletteName, 'tl_member'); } } $GLOBALS['TL_DCA']['tl_member']['config']['onsubmit_callback'][] = [SurveyDcaListener::class, 'refreshMemberSurveyListMetadata']; $GLOBALS['TL_DCA']['tl_member']['fields']['surveyCategories'] = [ 'label' => &$GLOBALS['TL_LANG']['tl_member']['surveyCategories'], 'exclude' => true, 'inputType' => 'select', 'foreignKey' => 'tl_survey_category.title', 'eval' => ['multiple' => true, 'chosen' => true, 'tl_class' => 'clr'], 'relation' => [ 'type' => 'hasMany', 'load' => 'lazy', 'table' => 'tl_survey_category', 'field' => 'id', ], 'save_callback' => [ [SurveyDcaListener::class, 'saveMemberSurveyCategories'], ], 'sql' => 'blob NULL', ]; $GLOBALS['TL_DCA']['tl_member']['fields']['assignedSurveys'] = [ 'label' => &$GLOBALS['TL_LANG']['tl_member']['assignedSurveys'], 'exclude' => true, 'inputType' => 'select', 'options_callback' => [SurveyDcaListener::class, 'getSurveyOptions'], 'eval' => ['multiple' => true, 'chosen' => true, 'tl_class' => 'clr'], 'load_callback' => [ [SurveyDcaListener::class, 'loadMemberAssignedSurveys'], ], 'save_callback' => [ [SurveyDcaListener::class, 'saveMemberAssignedSurveys'], ], 'sql' => 'blob NULL', ];