Создание контента и взаимодействие с модулем поиска

Главные вкладки

Аватар пользователя temir temir 27 июня 2008 в 22:02

Написал простенький модуль. Он добавляет на сайт менюшку и для каждого пункта меню соответствующий контент. Все устраивает. Проблема возникла при использовании модуля Search. Поиск осуществляется только по содержимому сайта page и story. Как решить проблему? Набивать контент мне удобнее в модуле. Или это неандертальский способ? Тогда как удобнее работать с page или story (там же форматирование кода нормального сделать даже нельзя)?

Комментарии

Аватар пользователя olk olk 27 июня 2008 в 22:17

Поиск осуществляется по всем нодам и коментам.
Тут два варианта:
1. Как мне кажется более правильный, интегрировать ваш модуль, так что контент был просто расширением ноды (пусть и вашего типа). (правда если вам нужен поиск и вашем расширении (например какие то дополнительные поля то см. п.2)
2. задействовать в своем модуле hook_search, для поиска по вашему контенту

Аватар пользователя temir temir 27 июня 2008 в 22:58

Спасибо.
По поводу п.2. понятно. А вот что значит интегрировать модуль. Куда его интегрировать?
И кстати, все таки, как лучше контент создавать? кодом в модуле или из графической оболочки. В чем плюсы и минусы?
Плюсы модуля вижу в том, что во-первых там форматировать код можно (а в page например перенос строки просто так не поставить). А во-вторых содержание меню и нодов хранится в базе сайта и повторное использование написанного осложненно, модуль же достаточно подключить заново.

Аватар пользователя olk olk 27 июня 2008 в 23:46

Ну как и что форматировать, это задача темизации, и модуль тут участвует достаточно опосредовано, хотя тоже конечно участвуют (через тот же theme_modulename).
Второе это не понятно что вы имеете ввиду под

Quote:
(а в page например перенос строки просто так не поставить)
, что значить не поставить ? просто примените к типу материала соответствующий фильтр (типа автоматическое преобразование \n в <br> ...),
Ну и третие, что мне вообще не понятно Smile
Quote:
А во-вторых содержание меню и нодов хранится в базе сайта и повторное использование написанного осложненно, модуль же достаточно подключить заново.
, что вы этим имели ввиду Smile ?
В друплае (да и практически во всех других cms) Весь! контент хранитца в БД, и как раз это и позволяет его повторное использование, т.е. его можно вывести и в качестве страницы, и как элемент блока и из своего модуля (если вам это надо) или просто используя сниипеты ....
По поводу интеграции:
1. Друпал достаточно логичная система и надо по возможности стараться хранить данные в уже существующей структуре, т.е. если вам нужен тип материала допусти МоиМатериалы,
который кроме общих полей (типа title,body,uid,created и т.п.) должен содержать дополнительные поля, ну например links,date_expired,qty,price ... ну или что то подобное, то тут опять несколько решений
1. Расширить ноду использую дополнительные модули типа ССК или подобных модулей.
2. Написать свой модуль который основную информацию будет хранить в ноде а дополнительную в созданных модулем таблицах.
При этом заметьте, что поиск по информации сохраненной в ноде будет происходить автоматом,
а для дополнительной информации (если вам это надо) достаточно перекрыть hook_search (ну и еще желаательно hook_cron - что бы индексировать содержимое дополнительных полей)