私は Drupal にまったく慣れていないので、質問で行った恐ろしい仮定/虚偽を許してください。
データベース駆動のドロップダウン ボックスをサイドバーに追加しようとしています。私は現在、カスタムブロックを作成することでこれを行っています(それは正しいアプローチですか?)。現在、ブロックをレンダリングすることさえできても、コンテンツではなく「配列」という単語が表示されるだけです。「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 データが正常に読み込まれています。機能していないように見えるのは、フォームの表示だけです。