我需要为我的 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 节点中的内容。
有什么想法……除了推出我自己的搜索功能(我目前不想做的事情)吗?