2011-01-27 93 views
0

我在Drupal 6中使用CCK,我需要在Drupal中用8-10字段构建一个搜索表单作为过滤器;当用户提交表单时,我需要在数据库上查询应用过滤器并将结果呈现在表格上。 我知道如何通过动态构建sql-where条件(加入节点和content_type_xyz表)来以编程方式执行此操作,但我会对学习如何以“Drupal方式”执行操作感兴趣;我想我将不得不使用视图和面板,但我不知道它们是否可以在这样的情况下轻松实现,我试图构建一些示例视图,但我认为要更快地创建代码。Drupal 6中的自定义搜索表单:视图/面板还是自定义sql?

任何人都可以帮助我吗? 感谢和问候。

回答

1

如果你想定制搜索你需要IMO做两件事情:

  1. 自己钩到_search所以你可以使用Drupal的显示出来的结果。在此表单中,您可以根据需要为数据库创建查询或加载其他内容,但请务必使用pager_query
  2. 扩展已存在的或建立自己的搜索表单。我建议建立自己的。使用Drupals search form已有的内容。这样,你有一个干净的方式来做到这一点。

其实没有必要使用任何花哨的模块(这并不意味着你应该排除他们,但搜索是东西,所以esential,它是相当不错的基础知识处理)。

使用上面,你会得到一个本地搜索的形式与所有它的力量和可以利用的全局传呼选项。

0

如果您使用的意见,你会只限于过滤做到这一点,你可以做使用SQL。视图是一个SQL构建器,不包含任何“正确的”搜索功能。这就是说,这听起来像Views会做你想做的事情;如果您在视图下创建过滤条件,然后点击“公开此过滤条件”,您会突然看到允许用户输入内容以便通过显示进行过滤的字段。