0

我正在開發Drupal 7的模塊。我定義了一個名爲「Booth」的節點類型。現在在我的模塊中,我創建了一個包含姓名,電話,地址等字段的表單。其中一個字段是Booth,它是一個Select類型元素。我想將展位標題(我在「添加內容」展臺中添加)作爲我的選擇元素選項。我怎樣才能做到這一點?我如何填寫選項數組,我的展位內容類型的標題字段? [請看看下面的圖片]在Drupal 7中定義和使用其他節點類型的字段作爲我的表單元素類型

The first field must be filled with title of booth titles

$form['exbooth'] = array(
    '#type' => 'select', 
    '#title' => t('Exhibition Booth'), 
    '#options' => array(), // I want to fill this array with title fields of booth content type 
    '#required' => TRUE, 
); 
$form['name'] = array(
    '#type' => 'textfield', 
    '#title' => t('Name'), 
    '#required' => TRUE, 
); 
$form['lastname'] = array(
    '#type' => 'textfield', 
    '#title' => t('Last Name'), 
    '#required' => TRUE, 

回答

0

在Drupal API一些挖後,我終於找到了解決辦法。

我用entity_load()函數來檢索「展位」內容類型的所有節點,然後我把結果的標題在數組中,併爲選擇選項數組:

$entities = entity_load('node'); 
$booths = array(); 
foreach($entities as $entity) { 
    if($entity->type == 'booth') { 
     $i = 1; 
     $booths[$i] = $entity->title; 
    } 
} 
.... 
//inputs 
$form['exbooth'] = array(
    '#type' => 'select', 
    '#title' => t('Exhibition Booth'), 
    '#options' => $booths, // I set my array of booth nodes here 
    '#required' => TRUE, 
); 
相關問題