Drupal:如何从 api 检索数据并将其部分用作下拉菜单中的选项
Drupal: How to retrieve data from api and use parts of it as options in a dropdown menu
我有一个名为 "Event" 的 Drupal 内容类型,我想创建一个 Drupal 模块,从 api 中检索数据并使用该数据填充"Event".
编辑界面上的下拉表单字段
我有两个问题:
- 我可以使用什么 drupal 函数从 api 检索数据并存储它
- 我可以在模块中使用哪些函数来为特定类型创建表单字段并将其下拉菜单的选项设置为从 api 检索的数据。
$option_terms = taxonomy_get_tree(VID_OF_THE_TAXONOMY_VOCAB);
$options = array();
foreach ($option_terms as $option_term) {
$options[$option_term->tid] = $option_term->name;
}
$form['dropdown_field_name'] = array(
'#type' => 'select',
'#title' => t('The dropdown'),
'#options' => $options,
);
从 API 获取数据并存储它 - 大概有一个外部端点,您将从中获取此 JSON。所以你想在那里发出一个 HTTP 请求来获取它。所以我会看看 drupal_http_request。至于存储它,您可能希望将它存储在数据库中,因此您需要创建一个可以接受数据的 table,然后显然将其与 SQL 一起放在那里。这真的取决于数据...也许使用分类法会很好,这取决于...
您需要使用 hook_form() 然后创建一个下拉字段。例如,如果您将下拉菜单的选项存储在 Drupal 分类法中,则可以根据此处顶部的代码生成 "array of options"。
我有一个名为 "Event" 的 Drupal 内容类型,我想创建一个 Drupal 模块,从 api 中检索数据并使用该数据填充"Event".
编辑界面上的下拉表单字段我有两个问题:
- 我可以使用什么 drupal 函数从 api 检索数据并存储它
- 我可以在模块中使用哪些函数来为特定类型创建表单字段并将其下拉菜单的选项设置为从 api 检索的数据。
$option_terms = taxonomy_get_tree(VID_OF_THE_TAXONOMY_VOCAB);
$options = array();
foreach ($option_terms as $option_term) {
$options[$option_term->tid] = $option_term->name;
}
$form['dropdown_field_name'] = array(
'#type' => 'select',
'#title' => t('The dropdown'),
'#options' => $options,
);
从 API 获取数据并存储它 - 大概有一个外部端点,您将从中获取此 JSON。所以你想在那里发出一个 HTTP 请求来获取它。所以我会看看 drupal_http_request。至于存储它,您可能希望将它存储在数据库中,因此您需要创建一个可以接受数据的 table,然后显然将其与 SQL 一起放在那里。这真的取决于数据...也许使用分类法会很好,这取决于...
您需要使用 hook_form() 然后创建一个下拉字段。例如,如果您将下拉菜单的选项存储在 Drupal 分类法中,则可以根据此处顶部的代码生成 "array of options"。