必要なのは、デフォルトが空白のドロップダウンです。それには '-create new client-'フィールドがあり、次にクライアントのリストがあります。ここでは、メニューフィールドのコードは次のとおりです。Drupal 7:選択したドロップダウンで不要な文字
$form['client']['existing'] = array(
'#title' => t('Client'),
'#type' => 'select',
'#options' => array('add' => t('add new client'),$fullName),
'#empty_option' => '',
'#description' => t('Select an existing Client or choose -create new client-'),
);
ここで私は$のfullNameを移入するために使用する機能があります:
function myForm_get_names()
{
$query = db_select('client', 'c');
$query->fields('c', array('cid','fname','lname'));
$fullName = array();
$result = $query->execute();
foreach ($result as $r)
{
$fullName[$r->cid] = $r->fname . " " . $r->lname;
}
return $fullName;
}
ここで、印刷はすべてが素晴らしい作品$のfullName
のうち、array (
1 => 'tim arthur',
2 => 'val brant',
)
です。唯一の問題は、新しいクライアントを追加した後に数字を挿入することです。私は私のオプションフィールドの値をプリントアウト
Client:
blank
-add new client-
0
tim arthur
val brant
::のようなので、これだけですが見えます私は-add新しいクライアント - に数値を与える場合
'#options' => array(
'add' => 'add new client',
0 => array(
1 => 'tim arthur',
2 => 'val brant',
),
),
数が増加します。例えば、私がしなければ:
'#options' => array ('5' => '-add new client-', $fullNames),
は、0は、私は私の配列を取得する方法上の任意のアイデアはネストできない6.
になります。また、私はこれを試みたが、エラーが発生しました:
'#options' => array (
'add' => '-add new client-',
array_keys($fullNames) => array_values($fullNames)),
ありがとうございました。これはそれを解決!私はあなたの答えを評価するだろうが、十分な担当者がいない。 – pnkflydgr
正しく表示されましたが、クライアントIDが値として保持されていません。 配列( '' => '' 、 => '新しいクライアント - を-add' '追加'、 0 => 'valのブラント'、 1 =>「ティム・アーサー:それは私のオプションとして、この配列を返すです'、 2 =>' bob adams '、 )、 私は姓で注文していますので、2,1,3 – pnkflydgr