如何构建在页面上显示结果的Drupal 6用户表单?

Dav*_*ing 2 forms search drupal

我想用LEFT上的搜索表单和内容(中心)部分的结果构建网站.

我知道如何创建模块..但我如何分配他们的位置?或者我应该将SEARCH FORM作为BLOCK放置并在build/block /中将它们分配给LEFT.

SEARCH FORM有3个文本框,不需要它们."名","姓","年龄"

无论用户类型是什么,我都想在模板的CENTER部分显示结果.

显然表单会将变量发送为 $_POST

但是在结果页面中,如果有超过5个结果,我想添加分页.

那我应该如何建立链接 <a href="?"

我想有cleanURL像/search//Smith/24 或者search/John//15或者search/John/Smith/40 使用分页加入时响应"的姓名,年龄"然后/search/john/smith/40/page/3

Hen*_*pel 5

好的,首先,我第二次googletorps建议先查看基于视图的解决方案,因为它可以为您节省一些自定义编码.但是,我经常发现自己处于一种基于视图的解决方案只能提供我所需要的80%的位置,并且从一开始就添加缺少的20%视图可以比自定义解决方案更多的工作 - 查看视图暴露过滤器,看它是否适合.

如果没有,这里有一些提示可以帮助您开始自定义解决方案:

  • 至于搜索表单,块是正确的方法.看看hook_block()如何创建一个(你需要至少实现操作'列表'和'视图')
  • 如你所说,通过build/block进行放置
  • 在操作"视图"上,您将构建表单.查看表格API快速入门和Drupal中表单处理的参考(不要手动构建自己的表单 - Drupal表单API只需要一点点习惯,将来会节省大量时间)
  • 对于结果页面,您将为所需的路径注册自己的页面回调函数,请参阅hook_menu()此处.
    • 警告:您建议的路径'search/...'会与搜索路径中的Drupals构建冲突,因此您可能会考虑选择一个轻微的变化(例如'search/people/...'或'peoplesearch /'等)
  • 要在Drupal中创建链接,请使用l()函数
  • 对于您可以使用的分页theme_pager,但这取决于您的实际搜索查询的结果,因为它需要一组查询字符串参数来构建查询