Разделение профиля на 2 бд
Прислано: Dmit3Y
чт, 09/09/2010 - 17:30
Здравствуйте.
Возникла потребность внести в профиль пользователей данные из другой базы.
Т.е. имеются поля профиля phone,work,country,icq. Надо чтобы поля phone и work извлекались из стандартной таблицы (profile_values), а поля country и icq получались из другой базы (с получением проблем нет). Меня интересует как это реализовать. Т.е. нужно в момент получения данных значения нужных полей заменить, а в момент записи вносить одни данные в основную таблицу а другие вносить в другую...
Более проще: надо несколько полей из профиля вынести в другую базу данных.
Как организовать это?
Я думал както через hook_user, но с друпалом работаю недавно.
- Dmit3Y's blog
- Для комментирования войдите или зарегистрируйтесь
1)В файле settings.php можно указать для разных таблиц разные базы:
<?php
$db_prefix = array(
'default' => '',
'users' => 'other_db.',
'users_roles' => 'other_db.',
'sessions' => 'other_db.',
'role' => 'other_db.',
'authmap' => 'other_db.',
'profile_fields' => 'other_db.',
'profile_values' => 'other_db.',
);
?>2)В друпале можно делать запросы к другой базе с помощью http://api.drupal.org/api/function/db_set_active
Может 2-ой вариант Вам подойдет, да, hook_user($op, &$edit, &$account, $category = NULL) с операцией $op = 'load';
- Для комментирования войдите или зарегистрируйтесь
По поводу первого пункта. Это я знаю... А вот по поводу 2 пункта.
$op = 'load' это, я так понимаю, во время получения данных. А при сохранении $op = 'update'.Так?
Спасибо за ответ.
- Для комментирования войдите или зарегистрируйтесь
Вандюк, начало книги, он два варианта предлагал
- Для комментирования войдите или зарегистрируйтесь
Спасибо.. щас посмотрю.
- Для комментирования войдите или зарегистрируйтесь



Комментарии