用表单标记封装自定义表单元素(drupal 6.x)

时间:2010-07-29 22:08:34

标签: forms drupal drupal-6

我使用FAPI为我的网站创建了自定义表单。我根据设计师提供的模板将每个控件放在特定位置。例如 -

<div id="myform">
  <span>Enter Your Name : </span> <?php print drupal_render($form['name']); ?>
  <span>Gender : </span><?php print drupal_render($form['gender_radio']); ?>
  ....
</div>
 <?php print drupal_render($form['submit']); ?>

这是我的问题 - 如何将表单标记内的所有元素括起来?在drupal中硬编码模板文件中的表单标签是正确的吗?或者在hook_form中创建更好?但这样做需要我手动添加结束表单标签。任何建议都将受到高度赞赏 Drupal - 6.x

1 个答案:

答案 0 :(得分:1)

听起来好像你读过building individual fields,但跳过了basic concepts个FAPI。简而言之,如果您使用drupal_get_form()调用表单,则会自动获得表单容器(以及使用FAPI的许多好处,例如令牌,验证等)。要处理表单元素周围的标记,您可以使用#prefix#suffixmarkup元素。

你可以像往常一样从外面组装整个表格,但很少有这样的情况真的值得。如果你真的想这样做,你基本上想要复制drupal_get_form()所做的事情,以便以一种适用于FAPI的方式添加表单包装器。