Quantcast
Channel: Issues for Drupal core
Viewing all articles
Browse latest Browse all 294925

"The configuration property settings.allowed_values.0.label.0 doesn't exist" on field storage config import with list_text field

$
0
0

Problem/Motivation

1. Create field of type "List (text)" with field add form, and fill the allowed values (they are not empty).
2. Export config of this field. It will be something like this (filename: 'field.storage.taxonomy_term.field_type.yml'):

langcode: en
status: true
dependencies:
  module:
    - options
    - taxonomy
id: taxonomy_term.field_type
name: field_type
entity_type: taxonomy_term
type: list_text
settings:
  allowed_values:
    -
      value: City
      label: City
    -
      value: 'Administrative area'
      label: 'Administrative area'
    -
      value: Continent
      label: Continent
    -
      value: Country
      label: Country
    -
      value: Region
      label: Region
  allowed_values_function: ''
module: options
locked: false
cardinality: 1
translatable: true
indexes: {  }

3. Try to import this config on some fresh-installed Drupal 8 site. You will get an error:

"The configuration property settings.allowed_values.0.label.0 doesn't exist."

If you put this config in module config/install directory, you will get following in your php error log:

[Sat Jul 26 00:47:02.830178 2014] [:error] [pid 4305] [client 127.0.0.1:36675] Uncaught PHP Exception InvalidArgumentException: "The configuration property settings.allowed_values.0.label.0 doesn't exist." at /var/www/drupal/drupal8-core/core/lib/Drupal/Core/Config/Schema/Mapping.php line 66, referer: http://d8.local/admin/modules/list/confirm

4. If allowed_values are empty in config ('allowed_values: { }'), the config imports normally.

Proposed resolution

Provide a patch that fix this error.

Remaining tasks

No

User interface changes

No.

API changes

No.


Viewing all articles
Browse latest Browse all 294925

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>