/** * {@inheritdoc} */ public function getBaseRouteParameters() { $parameters = parent::getBaseRouteParameters(); $base_entity_info = $this->entityManager->getDefinition($this->pluginDefinition['base_entity_type']); $parameters[$base_entity_info->getBundleEntityType()] = $this->entity->targetBundle(); return $parameters; }
/** * {@inheritdoc} */ public function submitForm(array &$form, array &$form_state) { $form_values = $form_state['values']; $field_values = $form_values['field']; // Save field cardinality. $cardinality = $field_values['cardinality']; $cardinality_number = $field_values['cardinality_number']; if ($cardinality === 'number') { $cardinality = $cardinality_number; } $field_values['cardinality'] = $cardinality; unset($field_values['container']); // Merge incoming form values into the existing field. $field_storage = $this->instance->getFieldStorageDefinition(); foreach ($field_values as $key => $value) { $field_storage->{$key} = $value; } // Update the field. try { $field_storage->save(); drupal_set_message($this->t('Updated field %label field settings.', array('%label' => $this->instance->label()))); $request = $this->getRequest(); if (($destinations = $request->query->get('destinations')) && ($next_destination = FieldUI::getNextDestination($destinations))) { $request->query->remove('destinations'); if (isset($next_destination['route_name'])) { $form_state['redirect_route'] = $next_destination; } else { $form_state['redirect'] = $next_destination; } } else { $form_state['redirect_route'] = FieldUI::getOverviewRouteInfo($this->instance->entity_type, $this->instance->bundle); } } catch (\Exception $e) { drupal_set_message($this->t('Attempt to update field %label failed: %message.', array('%label' => $this->instance->label(), '%message' => $e->getMessage())), 'error'); } }
/** * The _title_callback for the field instance settings form. * * @param \Drupal\field\FieldInstanceConfigInterface $field_instance_config * The field instance. * * @return string * The label of the field instance. */ public function getTitle(FieldInstanceConfigInterface $field_instance_config) { return String::checkPlain($field_instance_config->label()); }