我对这篇文章中的想法很感兴趣:"Mad Libs" Style Form Increases Conversion 25-40%。我想在几个Drupal站点上测试这样的表单,而不是注册表单;但是,我不确定如何使用Drupal的表单API处理这种非正统的表单。
使用hook_form_alter更改现有的user_register表单是否可行?有没有更好的方法?
理想情况下,我希望能够对任意表单上的每个表单字段进行标记,然后在字段应该出现的位置输入带有标记I的“故事”文本。但是,我不确定在表单呈现过程中该在哪里执行此操作?
发布于 2011-01-27 15:17:54
有意思的。您应该像通常构建drupal表单一样构建表单,只是其中包含字段。您的叙述将放在模板文件中,该模板文件应用于为表单创建主题。使用模板为表单创建主题非常简单。例如,在_theme挂钩中,将表单与模板文件绑定,
testmodule_theme()
{
return array(
"user_aboutme_form" => array(
"arguments" => array( "form" => NULL ),
'path' => $path_to_template_folder,
"template" => "user-aboutme-form",
)
);
}确保在两者之间清除主题缓存。在模板文件中,您将获得整个表单数组,并且可以使用drupal_render函数呈现单个元素。使用自定义样式,您可以获得与上述网站相同的外观和感觉。这里唯一需要注意的是,在完成单个表单元素的呈现后,要确保呈现根表单元素,即drupal_render($form),这将在表单中放入表单令牌值,否则表单将无法工作。
https://stackoverflow.com/questions/4812949
复制相似问题