[{"value_1":"Dragon fly"},{"value_1":"Agapostemon angelicus"},{"value_1":"Albuna oberthuri"},{"value_1":"Callohesma flavopicta"}]
Acestea sunt date JSON pe care trebuie să le folosesc pentru a importa pentru radiouri în formularele web drupal 8. Folosesc 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
Nu pot folosi value_1 ca cheie în radiouri, deoarece nu este unică, așa că trebuie să copiez cumva valoarea în cheie și să obțin aceleași date pe ambele părți, și să arăt așa.
[{"Dragon fly":"Dragon fly"},{"Agapostemon angelicus":"Agapostemon angelicus"},{"Albuna oberthuri":"Albuna oberthuri"},{"Callohesma flavopicta":"Callohesma flavopicta"}]
sunt multe liste și multe date, dar aceeași problemă.
Acesta este codul din modulul pe care l-am realizat urmat de instrucțiuni:
* Implementează hook_webform_options_WEBFORM_OPTIONS_ID_alter().
*/
funcția my_module_webform_options_external_countries_alter(matrice &$opțiuni, matrice &$element) {
// Încărcați opțiunile stocate în cache.
if ($cache = \Drupal::cache()->get('external_countries')) {
$opțiuni = $cache->date;
întoarcere;
}
// Obține date ca matrice asociativă de la serviciul web extern.
$external_countries_url = 'https://gist.githubusercontent.com/mshafrir/2646763/raw/8b0dbb93521f5d6889502305335104218454c2bf/states_hash.json';
$opțiuni = json_decode(file_get_contents($external_countries_url), TRUE);
// Opțiuni în cache, astfel încât să nu fie nevoiți să facem solicitări continue
// la serviciul web extern.
\Drupal::cache()->set('external_countries', $options);
}