Drupal 8 — параметры веб-формы для подключения ПАРАМЕТРЫ ВЕБ-ФОРМЫ ИДЕНТИФИКАТОР изменения()

#drupal #drupal-8 #drupal-modules

Вопрос:

[{"value_1":"Dragon fly"},{"value_1":"Agapostemon angelicus"},{"value_1":"Albuna oberthuri"},{"value_1":"Callohesma flavopicta"}]

Это данные JSON, которые мне нужно использовать для импорта радиостанций в веб-формах drupal 8. Я использую hook_webform_options_WEBFORM_OPTIONS_ID_alter() https://www.drupal.org/docs/8/modules/webform/webform-cookbook/how-to-use-options-from-an-external-webservice

Я не могу использовать value_1 в качестве ключа в радио, потому что он не уникален, поэтому мне нужно каким-то образом скопировать значение в ключ и получить одинаковые данные с обеих сторон, тоже выглядит так.

[{"Dragon fly":"Dragon fly"},{"Agapostemon angelicus":"Agapostemon angelicus"},{"Albuna oberthuri":"Albuna oberthuri"},{"Callohesma flavopicta":"Callohesma flavopicta"}] существует много списков и много данных, но та же проблема.

Это код из модуля, который я создал, с последующими инструкциями:

  * Implements hook_webform_options_WEBFORM_OPTIONS_ID_alter().
 */
function CUSTOM_MODULE_webform_options_external_countries_alter(array amp;$options, array amp;$element) {
  // Load cached options.
  if ($cache = Drupal::cache()->get('external_countries')) {
    $options = $cache->data;
    return;
  }

  // Get data as associative array from the external webservice.
  $external_countries_url = 'https://gist.githubusercontent.com/mshafrir/2646763/raw/8b0dbb93521f5d6889502305335104218454c2bf/states_hash.json';
  $options = json_decode(file_get_contents($external_countries_url), TRUE);

  // Cache options so that we don't have to make continual requests
  // to the external webservice.
  Drupal::cache()->set('external_countries', $options);
}