使用 Drupal 进行高级搜索(视图和 CCK)

Posted

技术标签:

【中文标题】使用 Drupal 进行高级搜索(视图和 CCK)【英文标题】:Advanced search with Drupal (Views and CCK) 【发布时间】:2009-05-26 07:59:00 【问题描述】:

我正在构建一个网站,其中产品保存在使用 CCK 创建的内容类型中。产品可以与多个分类词汇相关联。现在我需要一个高级产品搜索,用户可以使用它通过许多搜索参数(分类术语、CCK 字段值)进行搜索。我做了很多谷歌搜索,但我一直找不到足够灵活的模块。

我已经能够使用 Views 的参数创建几乎所有需要的功能,但我无法找到一种方法来制作没有我自己的自定义搜索框的搜索表单。这不是我真正想要的解决方案。

问题如下: 是否有用于灵活自定义搜索的适当模块,还是唯一的方法是使用自己的模块?是否有视图参数形式的模块。

【问题讨论】:

【参考方案1】:

有一个“分面搜索”模块 (http://drupal.org/project/faceted_search),它提供了一个有趣的搜索概念,也适用于 CCK 字段。 你可以看到一个演示here。 而是让您选择现有的值集(构面)并优雅地浏览它们,但它仍然是一种搜索。 (与http://drupal.org/project/cck_facets一起使用)

【讨论】:

【参考方案2】:

Faceted Search 和 ApacheSolr 集成模块是我推荐的两种(单独的)方法。

您是否已经用尽了 Views 暴露过滤器的所有可能性?

【讨论】:

我实际上能够使用 Views 实现搜索功能,但我编写了自己的模块来创建和处理搜索表单。 我也做过同样的事情。如果有一种更快的解决方案可以实现出色的自定义,那么我没有见过比 Drupal Form API 更好的解决方案,并且对执行视图有很好的理解。 总结一下:如果您了解 php,要搜索启用视图 - 最简单的解决方案是使用表单 API 构建表单。密封。【参考方案3】:

观看此视频教程,使用 Drupal 中的视图制作自定义搜索功能 会有帮助的

http://planetghost.com/views_search_drupal

【讨论】:

【参考方案4】:

Views 无法重现哪些功能?我已经完成了一些将视图用于搜索界面的工作,但我需要了解更多信息才能提供帮助。

【讨论】:

【参考方案5】:

我认为你必须开始使用 Views API 和视图提供的钩子。 https://api.drupal.org/api/views/views.api.php/group/views_hooks/7

非常重要的是views_get_view。查看文档,加载视图并使用 dpm(开发模块)检查视图。您可以通过编程方式对其进行修改,然后执行它。 https://api.drupal.org/api/views/views.module/function/views_get_view/7

请记住,您可以使用 hook_form_alter 修改视图的公开形式。

正如大家所说,分面搜索是一个非常好的选择,但是视图非常灵活和容易。

希望有帮助!

【讨论】:

以上是关于使用 Drupal 进行高级搜索(视图和 CCK)的主要内容,如果未能解决你的问题,请参考以下文章

drupal 6 - 我可以使用一个公开的视图过滤器来搜索/过滤几个类似的 cck 字段吗?

Drupal:具有深度过滤的 cck 分类字段

Drupal,视图:我可以为许多 CCK 字段使用 1 个过滤器吗?

跟踪RCS中的块/视图/cck等更改,并使用Drupal更新进行迁移。

具有节点引用和 cck3 多组字段的 Drupal 视图

Drupal 6、CCK 和视图中的循环排序