Разделение профиля на 2 бд

Прислано: Dmit3Y

чт, 09/09/2010 - 17:30

Другие статьи по теме:

Здравствуйте.

Возникла потребность внести в профиль пользователей данные из другой базы.
Т.е. имеются поля профиля phone,work,country,icq. Надо чтобы поля phone и work извлекались из стандартной таблицы (profile_values), а поля country и icq получались из другой базы (с получением проблем нет). Меня интересует как это реализовать. Т.е. нужно в момент получения данных значения нужных полей заменить, а в момент записи вносить одни данные в основную таблицу а другие вносить в другую...

Более проще: надо несколько полей из профиля вынести в другую базу данных.

Как организовать это?
Я думал както через hook_user, но с друпалом работаю недавно.

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано gorr в пт, 10/09/2010 - 05:43.

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';


Опубликовано Dmit3Y в пт, 10/09/2010 - 13:15.

По поводу первого пункта. Это я знаю... А вот по поводу 2 пункта.
$op = 'load' это, я так понимаю, во время получения данных. А при сохранении $op = 'update'.Так?

Спасибо за ответ.


Опубликовано RxB в пт, 10/09/2010 - 13:23.

Вандюк, начало книги, он два варианта предлагал


Опубликовано Dmit3Y в пт, 10/09/2010 - 13:55.

Спасибо.. щас посмотрю.


Новое на сайте

Ссылки партнёров