2015-09-14 28 views
1

我有一個名爲「Event」的drupal內容類型,我想創建一個Drupal模塊從api中檢索數據,使用該數據在「事件」的編輯界面的下拉表單字段中填充一組選項。Drupal:如何從api檢索數據並將其中的一部分用作下拉菜單中的選項

我有兩個問題:

  1. 我可以使用哪些Drupal的函數從API獲取數據並將其存儲
  2. 我可以用一個模塊內的哪些功能來創建一個表單字段爲特定類型並將其下拉菜單的選項設置爲從api檢索的數據。
+1

to 1 .:什麼樣的數據來自api?和多少行aprox。? 2:你是指節點編輯表單? – FalcoB

+0

爲1.它將是一個事件的名稱。從精確的事件來看,這將是JSON。事實上,節點編輯表單就是我的意思 – Luke

回答

1
$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, 
); 
  1. 從API獲取數據並存儲 - 大概有外部端點,你會從中得到JSON。所以你想在那裏發一個HTTP請求來抓它。所以我會看看drupal_http_request。至於存儲它,你可能希望將它存儲在數據庫中,所以你需要創建一個可以接受數據的表格,然後顯然將它放在SQL中。這真的取決於數據...也許這將是很好的使用分類,這取決於...

  2. 你會想要使用hook_form(),然後創建一個下拉字段。例如,如果您將下拉列表的選項存儲在Drupal分類標準中,則可以根據頂部的代碼生成「選項數組」。

相關問題