Мне нужно создать несколько продвинутых функций поиска для моего сайта Drupal 6. У меня есть отношение «один ко многим» между двумя типами контента, и мне нужно искать их, соблюдая эти отношения.
Чтобы было понятнее ...
У меня есть типы контента TypeX и TypeY. TypeY имеет поле CCK ссылки на узел, которое связывает его с одним узлом TypeX. Таким образом, многие узлы TypeY ссылаются на один и тот же узел TypeX.
Я хочу использовать Views 2 для создания страницы поиска для этих узлов. Я хочу, чтобы каждый результат поиска был узлом TypeX вместе со всеми узлами TypeY, которые ссылаются на него. Я знаю, что могу просто разделить отдельные результаты по темам и использовать представление, чтобы добавить узлы TypeY к одному узлу TypeX ... но это не позволит пользователям на самом деле искать TypeY ... он будет только искать TypeX и просто отображать некоторые узлы TypeY вместе с ним.
В любом случае можно ли выполнить поиск для учета контента в узлах обоих типов контента, но объединить результаты TypeY с «родительским» узлом TypeX?
В терминах базы данных мне кажется, что мне нужно выполнить объединение, а затем выполнить фильтрацию по условиям поиска. Но я не могу понять, как это сделать в Views.
Спасибо за любую помощь, которую я могу получить !!!
'**** EDIT' ****
Чтобы убедиться, что это понятно, вот наглядный пример того, что я пытаюсь сделать ...
_____________________________________________________________________________________
|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.
Есть какие-нибудь идеи ... если не считать моих собственных функций поиска (не то, чем я хотел бы сейчас заняться)?