Drupal: как получить доступ к API-интерфейсам Drupal с помощью автономного сценария php? - PullRequest
9 голосов
/ 16 февраля 2011

Когда я создаю новый скрипт в отдельном php-файле для запуска для Drupal, мне нужно добавить следующие строки сверху для доступа ко всем API-интерфейсам Drupal:

require_once './includes/bootstrap.вкл ';drupal_bootstrap (DRUPAL_BOOTSTRAP_FULL);

Это правильно?

Ответы [ 4 ]

13 голосов
/ 16 февраля 2011

Да, я использую это:

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

А затем просто добавьте любой необходимый для Drupal код ниже этого.

5 голосов
/ 27 марта 2012

этот метод все еще работает с drupal 7, но вместо бита chdir вам может потребоваться добавить следующую строку перед вызовом require и bootstrap:

define('DRUPAL_ROOT','/path/to/drupal');
2 голосов
/ 12 августа 2014

Это должно работать как для Drupal 6, так и для Drupal 7:

define('DRUPAL_ROOT', 'path/to/drupal');
chdir(DRUPAL_ROOT);
require './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

Не имеет значения, куда вы поместите скрипт, содержащий этот код.Просто убедитесь, что вы заменили path/to/drupal на фактический путь установки вашей системы Drupal.

0 голосов
/ 16 февраля 2011

Да, это один из способов ввода drupal api.
Иногда требуется chdir("dir to drupal dir");, если вы вызываете php-скрипт из другого каталога.

...