[{"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 เป็นคีย์ในวิทยุได้ เนื่องจากมันไม่ซ้ำกัน ดังนั้นฉันจึงต้องคัดลอกค่าลงในคีย์และรับข้อมูลเดียวกันทั้งสองด้าน หน้าตาแบบนี้เช่นกัน
[{"แมลงวันมังกร":"แมลงวันมังกร"},{"Agapostemon angelicus":"Agapostemon angelicus"},{"Albuna oberthuri":"Albuna oberthuri"},{"Callohesma flavopicta":"Callohesma flavopicta"}]
มีหลายรายการและข้อมูลมากมาย แต่ปัญหาเดียวกัน
นี่คือรหัสจากโมดูลที่ฉันทำตามคำแนะนำ:
* ใช้ hook_webform_options_WEBFORM_OPTIONS_ID_alter()
*/
ฟังก์ชัน my_module_webform_options_external_countries_alter (อาร์เรย์ &$ตัวเลือก อาร์เรย์ &$องค์ประกอบ) {
// โหลดตัวเลือกแคช
ถ้า ($cache = \Drupal::cache()->get('external_countries')) {
$options = $cache->ข้อมูล;
กลับ;
}
// รับข้อมูลเป็นอาร์เรย์ที่เชื่อมโยงจากเว็บเซอร์ภายนอก
$external_countries_url = 'https://gist.githubusercontent.com/mshafrir/2646763/raw/8b0dbb93521f5d6889502305335104218454c2bf/states_hash.json';
$options = json_decode(file_get_contents($external_countries_url), จริง);
// ตัวเลือกแคชเพื่อที่เราจะได้ไม่ต้องร้องขออย่างต่อเนื่อง
// ไปยังเว็บเซอร์วิสภายนอก
\Drupal::cache()->set('external_countries', $ตัวเลือก);
}