如果您在您的模板中使用了'managed file'类型的FORM API,并且使用使用了#prefix 和 #sufix属性,您将会发现这个属性不起作用。
这个问题折腾了我一个上午,在这里记录一下,也希望能帮到其他人,节约大家的时间。
举例(注:其中的table不起作用):
$form['images'] = array(
'#type' => 'fieldset',
'#title' => t('Images'),
'#tree' => TRUE,
'#prefix' => '<div id="images-fieldset-wrapper">',
'#suffix' => '</div>',
);
foreach ($images as $delta => $fid) {
$form['images'][$delta]['image']= array(
'#type' => 'managed_file',
'#default_value' => $fid ? $fid : '',
'#upload_location' => 'public://images', //此处放模板所使用的图片
'#prefix' => '<table><tr><td>',
'#suffix' => '</td>',
);
$form['images'][$delta]['remove_one'] = array(
'#type' => 'submit',
'#value' => t('Delete').$delta,
'#submit' => array('add_more_remove_one'),
'#limit_validation_errors' => array(),
'#ajax' => array(
'callback' => 'add_more_callback',
'wrapper' => 'images-fieldset-wrapper',
),
'#prefix' => '<td>',
'#suffix' => '</td><tr></table>',
);
}标签
Drupal 版本