Как вставить данные о сайте в другую таблицу?
Я разработал веб-сайт с использованием Drupal. Я создал приложение без использования Drupal, используя другой фреймворк. В моем приложении я также сохранил логотип сайта, название сайта и т.д. Я хочу обновить таблицу информации о своем сайте при обновлении Информация о сайте Drupal от администратора/настройки/информация о сайте.
Поля следующие:
Идентификатор: int(12), первичный ключ
Заголовок сайта: varchar(60)
Сайт_лого: варчар(200)
2 answers
Есть много способов сделать это, но я думаю, что есть один простой и "друпальский" способ сделать это:
Определите несколько баз данных в вашем экземпляре drupal
Установите 2 базы данных, чтобы они были доступны для drupal.
Тогда остается только решить, когда вы хотите получить и обновить данные.
Вы можете использовать hook_install (или hook_enable) и добавить туда запрос, который загрузит ваши данные в базу данных drupal при включении модуля. Или вы могли бы создать обратный вызов, который обновит данные при посещении определенного URL-адреса, все это зависит от вас.
Надеюсь, это поможет, удачи.
Вы можете использовать hook_form_alter для добавления функции отправки в форму, см. http://drupal.org/node/222158 (для D6, но должно быть то же самое для D7).
В вашей новой функции отправки вы можете делать все, что захотите...
Вы можете запросить другую базу данных, следуя этому документу http://drupal.org/node/18429
$other_database = array(
'database' => 'databasename',
'username' => 'username', // assuming this is necessary
'password' => 'password', // assuming this is necessary
'host' => 'localhost', // assumes localhost
'driver' => 'mysql', // replace with your database driver
);
// replace 'YourDatabaseKey' with something that's unique to your module
Database::addConnectionInfo('YourDatabaseKey', 'default', $other_database);
db_set_active('YourDatabaseKey');
// execute queries here
db_set_active(); // without the paramater means set back to the default for the site
drupal_set_message(t('The queries have been made.'));