установить сообщение в друпале - PullRequest
1 голос
/ 21 декабря 2010

Мне нужно сделать одну из двух вещей в Drupal

  1. иметь возможность установить информационное сообщение для конкретного пользователя для просмотра при следующем входе в систему.Это сообщение будет отображаться в стандартной переменной $ messages.Я посмотрел, есть ли у drupal_set_message () возможности, но не нашел его
  2. запускать функцию каждый раз при загрузке страницы, которая затем будет искать некоторую информацию, которая затем приведет к отправке drupal_set_message

Я предпочитаю второй вариант, если у кого-то есть предложения.

Ответы [ 3 ]

3 голосов
/ 21 декабря 2010

Я бы поместил код в hook_init ().Большая часть Drupal была загружена и доступна при каждой загрузке страницы.

В рамках этого вы можете запросить список сообщений из базы данных и направить их в drupal_set_message ().Переменная $ messages хранится в сеансе, поэтому вам нужно вызывать drupal_set_message () в тот момент, когда вы действительно хотите показать сообщение.

Сохранение необходимости представления сообщения - это другая задача, которая зависит откак вы определяете сообщение должно быть установлено.Если оно основано просто на истекшем времени, вы можете пропустить пользовательское кодирование и перейти непосредственно к Правилам - определение триггеров и действий на основе даты входа пользователя.

Если это более динамичная схема обмена сообщениями, где вам нужноуведомлять пользователей о событиях, которые произошли в их отсутствие, вы можете использовать код для записи, основанный на модуле Message или что-то подобное, что позволит вам записывать сообщения в базу данных, а затем запрашивать что-либо, датированноепоследний логин пользователя.На самом деле, мне нравится эта идея, она требует дальнейших размышлений ...

Более конкретный вопрос поможет рекомендовать более целенаправленные решения.

1 голос
/ 21 декабря 2010

Вы можете использовать hook_boot для запуска функции при каждой загрузке страницы.

1 голос
/ 21 декабря 2010

, поскольку в основном страница - это узел в drupal, вы должны реализовать hook_nodeapi . Для подключения пользователя используйте hook_user (с операцией входа в систему).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...