Интеграция внешних скриптов в Drupal

Опубликовано 2012.02.11

Чтобы интегрировать переменные друпала в свой скрипт-достаточно подключить к своему скрипту ядро друпала:
  1. define('DRUPAL_ROOT', getcwd()."\..\\"); //правильно укажите путь
  2. include_once DRUPAL_ROOT . '/includes/bootstrap.inc';
  3. drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
Всё бы ничего,но если вы используете в своих скриптах сессии-то Drupal их не увидит,так как по умолчанию он хранит их в БД. Для решения этой проблемы просто поместите вконце своего скрипта:
  1. drupal_session_commit();
Таким образом вы подружите свою сессию с друпалом и он будет работать с ней как с родной.
  1. //подключаем ядро
  2. define('DRUPAL_ROOT', getcwd()."\..\\"); //правильно укажите путь
  3. include_once DRUPAL_ROOT . '/includes/bootstrap.inc';
  4. drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
  5.  
  6. //ваш скрипт
  7. $_SESSION['custom']=3523;
  8.  
  9. drupal_session_commit();
Теперь переменная $_SESSION['custom'] доступна в любом модуле или теме Drupal. Никаких session_start() делать ненадо.Ядро друпала само их стартанёт.