2010-10-14 4 views
4

Я пытаюсь сделать некоторую интеграцию между Drupal и клиентом webmail, и я хочу вызвать функцию Drupal из файла PHP, который является частью клиента webmail. В этом случае функция, которую я хочу вызвать, предоставляется модулем Contrib, но я предполагаю, что это не имеет значения.Как я могу вызвать функцию Drupal внутри PHP-файла?

Итак, если у меня есть страница без Drupal с именем mail_login.php и вы хотите вызвать метод foo_bar() Drupal, как я могу это сделать?

ответ

4

В зависимости от сложности, что вы хотите позвонить вам, возможно, придется самонастройки друпал:

 require_once '/full/path/to/drupal/includes/bootstrap.inc'; 
     drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); 

     $return = menu_execute_active_handler(); 

     if (is_int($return)) { 
      switch ($return) { 
      case MENU_NOT_FOUND: 
       drupal_not_found(); 
       break; 
      case MENU_ACCESS_DENIED: 
       drupal_access_denied(); 
       break; 
      case MENU_SITE_OFFLINE: 
       drupal_site_offline(); 
       break; 
      } 
     } 

После этого вы можете закодировать, как будто вы находитесь в Drupal Enviroment, потому что, ну, вы!

+0

Хмм, require_once по какой-то причине разбивает страницу, но спасибо! – Stewart

+0

, вероятно, вам понадобится некоторое время, чтобы обойти все проблемы include/require/path ... были там :) – Hannes

Смежные вопросы