【发布时间】:2010-04-16 03:24:13
【问题描述】:
我需要为我的 Drupal 6 站点创建一个有点高级的搜索功能。我在两种内容类型之间有一对多的关系,需要搜索它们,尊重这种关系。
为了让事情更清楚......
我有内容类型 TypeX 和 TypeY。 TypeY 有一个节点引用 CCK 字段,将它与 TypeX 的单个节点相关联。所以,TypeY 的很多节点都引用了 TypeX 的同一个节点。
我想使用 Views 2 为这些节点创建一个搜索页面。我希望每个搜索结果都是 TypeX 的一个节点,以及引用它的所有 TypeY 节点。我知道我可以只对单个结果进行主题化,并使用视图将 TypeY 的节点添加到 TypeX 的单个节点……但这不允许用户实际搜索 TypeY……它只会搜索 TypeX 并仅显示TypeY的一些节点以及它。
是否有办法让搜索考虑两种内容类型的节点中的内容,但将 TypeY 结果合并到 TypeX 的“父”节点?
在数据库方面,我似乎需要进行联接,然后按搜索词进行过滤。但我不知道如何在 Views 中执行此操作。
感谢您的帮助!!!
'**** 编辑'****
为了确保这一点很清楚,这是我正在尝试做的一个视觉示例......
_____________________________________________________________________________________
|Type X Node |Type Y Node |
| | |
| Content in node of TypeX that gets |Has a node reference that points to the node |
| searched by the view... |of TypeX. This content gets searched too! |
| |_____________________________________________|
| |Type Y Node |
| | |
| |Another TypeY node with a node reference to |
| |to the TypeX node. This gets searched too! |
--------------------------------------------------------------------------------------
这将是来自搜索视图的单个结果。视图中的“搜索:术语”过滤器将考虑所有三个节点中的内容。所以如果我搜索“这也被搜索了!”,我会得到上面的结果。或者,如果我搜索“TypeX 节点中的内容”,我会得到与上面相同的搜索结果。
我知道我可以搜索 TypeX 并使用另一个视图在结果显示中加载 TypeY 节点,但它不会搜索 TypeY 节点中的内容。
有什么想法...除了推出我自己的搜索功能(我目前不想做的事情)吗?
【问题讨论】:
标签: search drupal drupal-6 drupal-views cck