Forms Drupal 6-如何使用主题定制表单布局

Forms Drupal 6-如何使用主题定制表单布局,forms,drupal-6,Forms,Drupal 6,我使用CCK创建了一个新的内容类型并添加了新的表单项。我需要自定义表单的布局,我已经使用css部分管理了表单,并在表单中移动项目和添加自定义标记。然而,这仍然是不够的,因为权重似乎并没有达到我想要的效果 有没有一种方法可以使用theme.tpl.php文件实现这一点 谢谢 史蒂夫有一次,我也遇到了同样的情况,找到了一个非常简单的解决办法 我需要一份高度定制的登记表,但表格太乱了。因此,我为表单使用了一个模板,并将每个字段打印到html输出中 首先在主题的template.php中为表单注册一个新

我使用CCK创建了一个新的内容类型并添加了新的表单项。我需要自定义表单的布局,我已经使用css部分管理了表单,并在表单中移动项目和添加自定义标记。然而,这仍然是不够的,因为权重似乎并没有达到我想要的效果

有没有一种方法可以使用theme.tpl.php文件实现这一点

谢谢
史蒂夫

有一次,我也遇到了同样的情况,找到了一个非常简单的解决办法

我需要一份高度定制的登记表,但表格太乱了。因此,我为表单使用了一个模板,并将每个字段打印到html输出中

首先在主题的template.php中为表单注册一个新模板

<?php
function your-theme-name_theme() {
  return array( 
    'user_register' => array(
      'arguments' => array('form' => NULL),
      'template' => 'user-register',
    ),
  );
}
?>
现在为主题添加一个新模板。在我的例子中,user_register.tpl.php。将以下行添加到表单中,以便表单仍然有效

<?php
print drupal_render($form['form_build_id']);
print drupal_render($form['form_id']);
print drupal_render($form['form_token']);
?>
从那时起,您可以添加任意多的html,并将表单字段放在任何需要它们的地方。以下是性别和生日字段的示例。正如您所见,您必须使用内部CCK名称

<?php print drupal_render($form['field_profile_gender']); ?>
<?php print drupal_render($form['field_profile_birthday']); ?>
除了user_register之外,我没有对任何其他表单进行过测试,但我想只要模板名等于表单名,它就应该可以工作

我希望这对你有帮助

问候


迈克

迈克,这看起来棒极了!我一定会尝试一下。。。我最终在前缀/后缀中使用了更多的标记,只是为了得到我想要的东西,但这太乱了。。。谢谢你!