[{"value_1":"Rồng bay"},{"value_1":"Agapostemon angelicus"},{"value_1":"Albuna oberthuri"},{"value_1":"Callohesma flavopicta"}]
Đây là dữ liệu JSON tôi cần sử dụng để nhập cho radio trong 8 biểu mẫu web drupal. Tôi đang sử dụng 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
Tôi không thể sử dụng value_1 làm khóa trong radio, vì nó không phải là duy nhất, vì vậy tôi cần bằng cách nào đó sao chép giá trị vào khóa và nhận cùng một dữ liệu ở cả hai bên, giống như thế này.
[{"Rồng bay":"Rồng bay"},{"Agapostemon angelicus":"Agapostemon angelicus"},{"Albuna oberthuri":"Albuna oberthuri"},{"Callohesma flavopicta":"Callohesma flavopicta"}]
có nhiều danh sách và nhiều dữ liệu nhưng cùng một vấn đề.
Đây là mã từ mô-đun tôi đã thực hiện theo hướng dẫn:
* Triển khai hook_webform_options_WEBFORM_OPTIONS_ID_alter().
*/
function my_module_webform_options_external_countries_alter(mảng &$options, mảng &$element) {
// Tải các tùy chọn đã lưu trong bộ nhớ cache.
if ($cache = \Drupal::cache()->get('external_countries')) {
$options = $cache->dữ liệu;
trở lại;
}
// Lấy dữ liệu dưới dạng mảng kết hợp từ dịch vụ web bên ngoài.
$external_countries_url = 'https://gist.githubusercontent.com/mshafrir/2646763/raw/8b0dbb93521f5d6889502305335104218454c2bf/states_hash.json';
$options = json_decode(file_get_contents($external_countries_url), TRUE);
// Tùy chọn bộ đệm để chúng tôi không phải thực hiện các yêu cầu liên tục
// đến dịch vụ web bên ngoài.
\Drupal::cache()->set('external_countries', $options);
}