action = $action; $this->locales = $locales; $countries = []; foreach (Locale::getCountries() as $country) { $countries[] = [ 'value' => $country->getAlpha2(), 'label' => $country->getLocalName() ]; } usort($countries, function ($a, $b) { return strcmp($a['label'], $b['label']); }); $this->addGroup([ 'id' => 'identity', 'label' => __('manager.setup.identity'), ]) ->addField(new FieldText('name', [ 'label' => __('manager.setup.contextTitle'), 'size' => 'large', 'isRequired' => true, 'isMultilingual' => true, 'groupId' => 'identity', 'value' => $context->getData('name'), ])) ->addField(new FieldText('acronym', [ 'label' => __('manager.setup.contextInitials'), 'size' => 'small', 'isRequired' => true, 'isMultilingual' => true, 'groupId' => 'identity', 'value' => $context->getData('acronym'), ])) ->addGroup([ 'id' => 'publishing', 'label' => __('manager.setup.publishing'), 'description' => __('manager.setup.publishingDescription'), ]) ->addField(new FieldSelect('country', [ 'groupId' => 'publishing', 'label' => __('common.country'), 'description' => __('manager.setup.selectCountry'), 'options' => $countries, 'isRequired' => true, 'value' => $context ? $context->getData('country') : null, ])) ->addGroup([ 'id' => 'keyInfo', 'label' => __('manager.setup.keyInfo'), 'description' => __('manager.setup.keyInfo.description'), ]) ->addField(new FieldRichTextarea('description', [ 'label' => __('manager.setup.contextSummary'), 'isMultilingual' => true, 'groupId' => 'keyInfo', 'value' => $context->getData('description'), ])) ->addField(new FieldRichTextarea('editorialTeam', [ 'label' => __('manager.setup.editorialTeam'), 'isMultilingual' => true, 'groupId' => 'keyInfo', 'toolbar' => 'bold italic superscript subscript | link | blockquote bullist numlist | image | code', 'plugins' => 'paste,link,lists,image,code', 'uploadUrl' => $imageUploadUrl, 'value' => $context->getData('editorialTeam'), ])) ->addGroup([ 'id' => 'about', 'label' => __('common.description'), 'description' => __('manager.setup.contextAbout.description'), ]) ->addField(new FieldRichTextarea('about', [ 'label' => __('manager.setup.contextAbout'), 'isMultilingual' => true, 'size' => 'large', 'groupId' => 'about', 'toolbar' => 'bold italic superscript subscript | link | blockquote bullist numlist | image | code', 'plugins' => 'paste,link,lists,image,code', 'uploadUrl' => $imageUploadUrl, 'value' => $context->getData('about'), ])); } }