Chris@18: $field_name, Chris@18: 'type' => 'entity_reference', Chris@18: 'entity_type' => $entity_type, Chris@18: 'cardinality' => $cardinality, Chris@18: 'settings' => [ Chris@18: 'target_type' => $target_entity_type, Chris@18: ], Chris@18: ])->save(); Chris@18: } Chris@18: if (!FieldConfig::loadByName($entity_type, $bundle, $field_name)) { Chris@18: FieldConfig::create([ Chris@18: 'field_name' => $field_name, Chris@18: 'entity_type' => $entity_type, Chris@18: 'bundle' => $bundle, Chris@18: 'label' => $field_label, Chris@18: 'settings' => [ Chris@18: 'handler' => $selection_handler, Chris@18: 'handler_settings' => $handler_settings, Chris@18: ], Chris@18: ])->save(); Chris@18: } Chris@18: } Chris@18: Chris@18: /** Chris@18: * Creates a field of an entity reference field storage on the bundle. Chris@18: * Chris@18: * @param string $entity_type Chris@18: * The type of entity the field will be attached to. Chris@18: * @param string $bundle Chris@18: * The bundle name of the entity the field will be attached to. Chris@18: * @param string $field_name Chris@18: * The name of the field; if it exists, a new instance of the existing. Chris@18: * field will be created. Chris@18: * @param string $field_label Chris@18: * The label of the field. Chris@18: * @param int $cardinality Chris@18: * The cardinality of the field. Chris@18: * Chris@18: * @see \Drupal\Core\Entity\Plugin\EntityReferenceSelection\SelectionBase::buildConfigurationForm() Chris@18: */ Chris@18: protected function createTextField($entity_type, $bundle, $field_name, $field_label, $cardinality = 1) { Chris@18: // Look for or add the specified field to the requested entity bundle. Chris@18: if (!FieldStorageConfig::loadByName($entity_type, $field_name)) { Chris@18: FieldStorageConfig::create([ Chris@18: 'field_name' => $field_name, Chris@18: 'type' => 'text', Chris@18: 'entity_type' => $entity_type, Chris@18: 'cardinality' => $cardinality, Chris@18: ])->save(); Chris@18: } Chris@18: if (!FieldConfig::loadByName($entity_type, $bundle, $field_name)) { Chris@18: FieldConfig::create([ Chris@18: 'field_name' => $field_name, Chris@18: 'entity_type' => $entity_type, Chris@18: 'bundle' => $bundle, Chris@18: 'label' => $field_label, Chris@18: ])->save(); Chris@18: } Chris@18: } Chris@18: Chris@18: }