/**
  * {@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;
 }
Esempio n. 2
0
 /**
  * {@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());
 }