#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);
}