我对 Drupal 完全陌生,请原谅我在我的问题中做出的任何可怕的假设/错误。
我正在尝试向我的侧边栏添加一个数据库驱动的下拉框。我目前正在通过创建一个自定义块来做到这一点(这甚至是正确的方法吗?)。目前,当我什至可以完全渲染块时,它只显示单词“Array”,而不是内容。我已经测试了我的“getGames”函数的输出并且正确地填充了数组。
这是当前代码:
<?php
$games_array = getGames();
return drupal_get_form('gamesForm', $games_array);
function getGames()
{
$query = "SELECT ID, Name FROM drupGN.Game ORDER BY Name;";
$results = db_query($query);
foreach ($results as $item) {
$key = $item->ID;
$value = $item->Name;
$games_array[$key] = $value;
}
return $games_array;
}
function gamesForm($form_state, $games_array)
{
$form['games'] = array(
'#type' => 'select',
'#title' => 'Game Name',
'#options' => $games_array,
'#required' => TRUE,
);
return $form;
}
?>
就像我说的,数据库连接正常,$games_array 数据已成功填充。只是表单显示似乎无法正常工作。