Использовать API Drupal 6 на пользовательской веб-странице? - PullRequest
1 голос
/ 08 июля 2011

Я хочу, чтобы сайт, не принадлежащий Drupal, создавал учетную запись пользователя в моей установке Drupal при отправке формы.Есть ли способ включить (и иным образом инициировать) API-интерфейсы drupal в скрипт php, который не входит в модуль drupal?Я попытался включить некоторые включаемые файлы, так как ошибки «неизвестной функции» продолжают появляться, но это превратилось в игру в кошки-мышки.

Спасибо за помощь, Джефф

1 Ответ

1 голос
/ 08 июля 2011

Да, используйте services.module. Он предоставляет API для Drupal.

Или:

<?php

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

edit: Согласно комментариям, для использования в командной строке вы должны подделать $_SERVER материал, на который опирается Drupal (в частности, имя домена):

<?php

// set some server variables so Drupal doesn't freak out
$_SERVER['SCRIPT_NAME'] = '/script.php';
$_SERVER['SCRIPT_FILENAME'] = '/script.php';
$_SERVER['HTTP_HOST'] = 'example.com';
$_SERVER['REMOTE_ADDR'] = '127.0.0.1';
$_SERVER['REQUEST_METHOD'] = 'POST';

// act as the first user
global $user;
$user->uid = 1;

// change to the Drupal directory
chdir('/path/to/drupal');

// Drupal bootstrap throws some errors when run via command line
//  so we tone down error reporting temporarily
error_reporting(E_ERROR | E_PARSE);

// run the initial Drupal bootstrap process
require_once('includes/bootstrap.inc');
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

// restore error reporting to its normal setting
error_reporting(E_ALL);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...