Yus*_*sef 5 render default-value drupal-7 drupal-render drupal-forms
我尝试的形式打印Drupal的选择选项'元素.我觉得drupal_render不适用#default_value.每天的事情是确定的,除了#default_value不适用.
问题在哪里?有谁知道我怎么做到这一点?不#default_value接受string的价值?
这是我的代码伪:
function test_menu(){
$items=array();
$items['admin/config/regional/test']=array(
'title' => 'test',
'description' => t('test'),
'page callback' =>'drupal_get_form',
'page arguments' => array('test_function'),
);
$items[]=array();
return $items;
}
function test_function(){
$header = array
(
'test1' => t('test1'),
'test2'=> t('test2'),
);
$a=(1,2,3);
$$options=array();
foreach($a as $i=>$v)
{
$f['type'] = array(
'#type' => 'select',
'#options' => array(1,2,3,4),
'#default_value'=>1,
);
$options += array($name=>array( 'test1' => $v,
'test2'=> drupal_render($f['type']) ,
}
$form['table'] = array
(
'#type' => 'tableselect',
'#header' => $header,
'#options' => $options,
'#multiple' => FALSE
//'#empty' => t('No users found'),
);
$form['submit'] = array
(
'#type' => 'submit',
'#value' => t('Submit'),
);
return $form;
}
Run Code Online (Sandbox Code Playgroud)
我测试 textfield但它也没有用,不能#default_value在drupal_render中接受
$f['test3']=array(
'#type'=>'textfield',
'#title'=>'test3',
'#default_value' =>'aaa',
);
Run Code Online (Sandbox Code Playgroud)
我想这是使用drupal_render的问题.有人有解决方案吗?
Yus*_*sef 11
在Drupal_render中用于drupal_get_form的#default_value未设置使用必须使用#value instaed.
$f['type'] = array(
'#type' => 'select',
'#options' => drupal_map_assoc(array('1','2','3','4')),
'#value'=> '1',
);
Run Code Online (Sandbox Code Playgroud)