我想在表格中创建一个表单,我需要在表格中包含图像和一些文本。我知道我可以在创建表单时使用#prefix和#suffix,但代码如下:
$form['example'] = array(
'#type' => 'textfield',
'#title' => t('Title'),
'#prefix' => '<table><tr><td>Some text</td><td><img some image></td>',
'#suffix' => '</tr></table>',
);
很难阅读和调试。
所以我的问题是我可以创建一个表单,然后将其发送到模板文件,我可以在表格中设置表单并添加我需要显示的其他图像和文本。
这就是我想要的样子:
答案 0 :(得分:1)
您可以使用专用主题功能(而非模板)来自定义表单。一个例子来自Drupal核心是theme_menu_overview_form()
函数。此函数用于主题menu_overview_form
表单,并在menu_theme()
中注册为主题函数。
该函数构建用于调用表主题函数的变量(即theme('table', $variables));
)。它在行内渲染选定的表单元素(使用drupal_render()
)。在对表本身进行渲染后,将追加剩余的表单元素,其中包括提交按钮。当然,您也可以在表格之前输出一些表格元素(或完整的字段集)。