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

Posted

技术标签:

【中文标题】drupal 6 - 我可以使用一个公开的视图过滤器来搜索/过滤几个类似的 cck 字段吗?【英文标题】:drupal 6 - can i use one exposed views filter to search/filter several similar cck fields? 【发布时间】:2009-08-07 04:24:53 【问题描述】:

由于我对 phpmysql 的基本了解,我对配置 drupal 和使用模块进行基本的东西有相当的了解,但只是进入模块开发和覆盖函数和东西。

我有一个自定义内容类型(“书籍”)和一个 3 cck 字段用于流派(初级、二级、三级)。我希望用户能够使用一个暴露的多选“流派”过滤器过滤所有书籍的视图。这就是我卡住的地方——我知道如何为 3 种类型“权重”(主要、次要、第三级)设置三个暴露的过滤器——我想要一个允许用户选择任何或所有这些权重的过滤器。

自定义搜索表单是我唯一的选择吗?有没有更好的方法来设置?将一个 cck 字段用于具有多个条目的“流派”会更好吗?我排除了这一点,因为我认为确定类型“权重”(小学、中学、大学)会更难。

感谢一百万。

【问题讨论】:

如果要搜索所有类型,为什么需要三个单独的字段?对我来说,这听起来像是你可以用分类学做的事情。 【参考方案1】:

想想类型对一本书的意义是什么。分类法正是您用于此类事情的方法。有几个专业人士使用分类法而不是使用 CCK 字段。

分类是元数据,CCK 字段不是。这意味着为分类术语生成 html 的方式将帮助 SE 了解这些类型很重要,并且将为您提供免费的 SEO 您可以设置比 CCK 字段更详细的流派选择方式。再次,因为分类法正是为这种事情而制定的。您可以设置如何以各种方式向用户展示类型选择。您可以预定义类型或让用户根据需要输入自己的类型。您可以建立亲子关系等等 使用分类法比使用 CCK 字段更容易、更轻量。 如果只输入 1 或 2 个流派,则不必有空的 CCK 字段。 我现在想不到的可能更多

使用分类法,您可以非常轻松地使用视图进行搜索,从而使用户可以使用多选列表来选择流派。您可以决定是需要所有条款还是只需要其中一个。简而言之,您应该真正使用分类法,它应该可以解决您所有的问题,如果没有,您仍然应该使用它并尝试解决使用分类法而不是 CCK 字段可能遇到的问题。

【讨论】:

好答案,我唯一不知道如何处理分类法的就是保持该类型的“重量”。【参考方案2】:

Jergason 有一个很好的观点,即分类学可能非常适合您的领域。但是,这并不能解决您的加权类型问题。

一个可能的(虽然很老套)的解决方案是有第四个字段,它结合了其他三个的值,仅在保存节点时设置。然后可以使用该字段进行搜索。

非 hacky 的解决方案是编写自己的 views filter,但这是非常高级的。

可能有一种方法可以通过开箱即用的视图来做到这一点,它很灵活,希望其他人知道一个更简单的非 hacky 解决方案。

【讨论】:

编写自己的视图过滤器并不先进,至少可以说非常先进。只有很少的 Drupal 和编程经验,这不是一个真正的解决方案。 再次感谢 googletorp 和 jeremy。还有一点信息:我不希望属性(由我的 cck 字段定义,如“流派”)改变,所以我愿意接受一个 hacky/硬编码的解决方案。自定义搜索表单比自定义视图过滤器更容易掌握吗?其他人有这样做的想法(使用一个公开的视图过滤器来搜索/过滤几个类似的 cck 字段?)? 我会尝试通过分类来实现它们,然后重新检查问题。就我个人而言,我没有尝试过自定义搜索表单,因此无法对此发表评论。 再次感谢。我们(愚蠢地)在系统中已经有很多内容,所以重新使用分类法将是一个真正的打击。您对第四个“组合器”字段的想法肯定可行,但我不确定如何实现组合——任何指针?

以上是关于drupal 6 - 我可以使用一个公开的视图过滤器来搜索/过滤几个类似的 cck 字段吗?的主要内容,如果未能解决你的问题,请参考以下文章

Drupal 7 Views 3:搜索特定字段的公开过滤器

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

Drupal、视图、公开过滤器:自定义默认选定标签

在 Drupal 中公开视图过滤器

将 Drupal 视图过滤器公开为开/关复选框以启用/禁用过滤器

Drupal 公开视图过滤器自定义日期