2

我对配置drupal和使用模块进行基本的东西有很好的理解,但是由于我对php和mysql的非常基本的理解,我只是进入了模块开发和覆盖函数和东西。

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

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

太感谢了。

4

2 回答 2

1

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

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

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

于 2009-08-07T09:24:44.487 回答
0

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

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

非 hacky 解决方案是编写自己的视图过滤器,但这是非常先进的。

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

于 2009-08-07T06:46:27.643 回答