FORM API Drupal - Seç Array gösteriliyor

2 Cevap php

Ben drupal formu API seçmek için tuşuna (type_id) ve değer (type_description) eklemek istiyorum

$result_x->product_types->RPMProductType is array result from Database :- array(4) { [0]=> object(stdClass)#18 (2) { ["type_description"]=> string(10) "Calendered" ["type_id"]=> int(1) } [1]=> object(stdClass)#19 (2) { ["type_description"]=> string(8) "Extruded" ["type_id"]=> int(2) } [2]=> object(stdClass)#20 (2) { ["type_description"]=> string(6) "Molded" ["type_id"]=> int(3) } [3]=> object(stdClass)#21 (2) { ["type_description"]=> string(5) "Other" ["type_id"]=> int(4) } }

foreach ($result_x->product_types->RPMProductType as $data)
{

$form['manufacturer_add_new_sales']['product_type'] = array(
    '#type' => 'select',
    '#title' => t('Product Type'),
    '#options'=>array($data->type_id=>$data->type_description),
    );
}

Ne yani ben, yani diğer sadece son değeri alıyorum yok. Nasıl bütün dizi Anahtarını görüntülemek için Seç bağlamak doğru loop - Değerler.

Şimdiden teşekkür ederim.

2 Cevap

Bu değerler ile bir dizi oluşturmak ve kullanmak gerek.

foreach ($array as $key => $value) {
  $options[$key] = $value;
}

Sonra da seçenekler olarak $ seçeneklerini kullanabilirsiniz.

Ayrıca yerine $ seçenekler dizinin her $ anahtarını ayarlayarak bir dizi dönmek için bir işlev kullanabilirsiniz.

'#options'=> function_options($param),
....
....
....

// Your Options populating function
function_options($param){
$optionarray = array();
// Populate array with DB values
.....
..... 
return optionarray;
}