Взаимодействие модулей
Прислано: kisa
вт, 24/07/2007 - 13:57
День добрый!
Есть модуль, назовем его условно главным, который определяет логику работу всего сайта и выводит в центральную колонку различный контент.
И есть несколько модулей, которые выводят блоки. Так вот блочные модули в своей работы должны использовать некоторые данные о состоянии главного модуля.
Например, есть блочный модуль, который выводит список рубрик. Если главный модуль показывает одну из этих рубрик, то блочный модуль должен эту рубрику выделить цветом.
Как сделать такое взаимодействие между главным и блочными модулями? Тут ведь вопрос в том, а в каком порядке друпал использует модули при формировании всей страницы? Если можно сделать так чтобы мой главный модуль всегда вызывался первым, то проблему я решу организацией глобальной структуры, в которой буду хранить данные о состоянии главного модуля, которые необходимы для работы блочных модулей.
Или еще один вопрос, положительный ответ на который может решить эту же проблему: а может один модуль выводить и несколько блоков и контект для главной страницы?
А может ли главный модуль определять какие блоки выводить а какие нет?
Спасибо.
- kisa's blog
- Для комментирования войдите или зарегистрируйтесь
Возможно вначале стоит почитать
http://drupal.org/handbook/
потом
http://api.drupal.org/
Но могу сказать заранее: все то что вы хотите возможно.
Есть еще поиск по этому сайту кстати.
Гдето тут было много документации на русском.
Удачи
- Для комментирования войдите или зарегистрируйтесь
Пожалуй, вот какого варианта ответа я ожидал:
1) модуль может выводить несколько блоков одновременно
2) никаких специальных данных и глобальных структур для взаимодействия блоков не нужно, т.к. состояние главного модуля всегда определяется набором POST или GET параметров, доступ к которым имеют и блоки, и, для моего примера, если главный модуль выводит какую-то рубрику, то id этой рубрики обязательно будет в GET параметрах, и ничего не мешает блоку со списком каталогов выделить рубрику с этим id, прочитав его из GET.
- Для комментирования войдите или зарегистрируйтесь

Комментарии