Доступ к базе данных в Drupal - PullRequest
1 голос
/ 15 июня 2010

Я пытаюсь настроить модуль Drupal 6.x. Исходный модуль не делает никаких обращений к базе данных, но настроенная версия должна извлечь некоторые данные из базы данных. Запрос должен выполняться с помощью вызова AJAX. Поэтому я пытаюсь заставить поставщика данных принимать вызов, запрашивать базу данных и возвращать результат (немного json).

Для поставщика данных мне нужна ссылка на базу данных, но я не хочу создавать ссылку в сценарии, а хочу найти сценарий, в котором хранятся значения подключения БД, и включить этот файл. Но мне не удается найти файл. Где он находится в типичной установке Drupal?

P.S. Я не хочу превращать это в модуль Drupal и следовать всем соглашениям для создания функций _hook (), .... Я хочу сделать это прямо и старой школы.

Ответы [ 4 ]

7 голосов
/ 15 июня 2010

Самый простой способ, если вы вызываете этот файл напрямую, - это загрузить drupal. Например, вы можете сделать следующее:

<?php
// Bootstrap Drupal
require 'includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
?>

Это позволит вам получить доступ ко всему спектру API drupal, включая db_query(). Для вашего использования вы можете передать DRUPAL_BOOTSTRAP_DATABASE вместо DRUPAL_BOOTSTRAP_FULL в drupal_boostrap(). См. http://api.drupal.org/api/function/drupal_bootstrap/6 для справки.

2 голосов
/ 15 июня 2010

"PS Я не хочу превращать это в модуль Drupal и следовать всем соглашениям для создания функций _hook (), .... Я хочу сделать это прямо и по-старому."

Почему?Это самый простой способ сделать это, и вы все равно можете определить там внешнее соединение с БД и использовать слой базы данных Drupal, и вы можете сделать это из настраиваемого вами модуля.

Если вы этого не делаетеиспользуя внешнюю базу данных (не Drupal), вы можете просто использовать API базы данных.

http://api.drupal.org/api/group/database/6

Дополнительные настройки можно сохранить в файле settings.php, но поскольку вы настраиваете модуль, ябудет иметь право прямо в модуле, так что вам не придется выследить его позже.

0 голосов
/ 03 июля 2010

Вы можете добавить свою вторую базу данных в файл настроек drupal и переключаться туда-сюда при необходимости.Смотрите здесь: Как подключиться к нескольким базам данных в Drupal

0 голосов
/ 15 июня 2010

Настройки базы данных должны быть в sites/default/settings.php.

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