Объединение бд пользователей

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#16 12 сентября 2016 в 22:53


Хотя нет, еще общие вкладки в профиле пользователя. Например, если у вас на основном стоит какой-либо компонент, который предполагает вкладки в профиле, то не основной сайт тоже захочет показать эти вкладки и если этого компонента на неосновном сайте нет, то получаем ошибку.

Dimson
А если на "не основном" сайте в настройках Профилей пользователей — Вкладки профилей убрать галочки чтобы не выводить вкладки компонентов которых нет? И есть ли там такие галочки вообще?

Val

Нет компонента, нет и вкладок в настройках компонента "Профили пользователя", поэтому и отключить нельзя, а движок их хочет. Я на форуме в одной из тем писал решение. Правда, "топорное", но все прекрасно работает
#17 13 сентября 2016 в 11:23
прописываю на поддомене в конфиге путь к таблице с пользователями в другой бд, но выдает 503 ошибку
'db_users_table' => 'ххх.cms_users',
Или не так?
#18 13 сентября 2016 в 11:49


прописываю на поддомене в конфиге путь к таблице с пользователями в другой бд, но выдает 503 ошибку
'db_users_table' => 'ххх.cms_users',
Или не так?

Capitan

Открываем /system/core/database.php ищем функцию public function query($sql, $params=false, $quiet=false)
ниже
$sql = str_replace(array(

'cms_users', 'cms_users', 'cms_'

), array(

$config->db_users_table, $config->db_users_table, $this->prefix

), $sql);

добавляем

$sql = str_replace('cms_users_tabs', 'pfx_users_tabs', $sql);

где pfx — префикс для таблиц второго сайта, как вариант его можно выдернуть из настроек, но заморачиваться я не стал.

здесь тема
#19 13 сентября 2016 в 12:06
Dimson, Да я читал про то как можно сделать, но мне кажется это не лучшее решение, т.к после обновления придется переправлять по новой
#20 13 сентября 2016 в 13:06


Dimson, Да я читал про то как можно сделать, но мне кажется это не лучшее решение, т.к после обновления придется переправлять по новой

Capitan

Тогда остается ждать, когда разработчики поправят. Я просто помню что у меня есть такая правка движка (кстати единственная)
#21 13 сентября 2016 в 13:14
но разве нельзя просто прописать путь к бд с пользователями чтобы все заработало? как правильно прописать путь?
#22 13 сентября 2016 в 13:29


но разве нельзя просто прописать путь к бд с пользователями чтобы все заработало? как правильно прописать путь?

Capitan

Я другого способа увы не знаю.

В настройках не основного сайта мы указываем, что надо лезть за пользователями в основную базу (где живут пользователи). И здесь все правильно. А вот почему движок цепляет табы основного сайта при входе в профиль на не основном сайте, это вопрос к разработчикам. Может так и задумывалось? На мой взгляд — это ошибка.
#23 13 сентября 2016 в 15:42
Dimson, Обязательно должно быть все в одной бд (но с разными префиксами)?
попробовал.
Внес изменения на основном сайте. ничего не изменилось
дописал в конфиге поддомена 'db_users_table' => 'ххх.cms_users', выдает 503 ошибку.
Что не так делаю?
#24 13 сентября 2016 в 17:19


Dimson, Обязательно должно быть все в одной бд (но с разными префиксами)?
попробовал.
Внес изменения на основном сайте. ничего не изменилось
дописал в конфиге поддомена 'db_users_table' => 'ххх.cms_users', выдает 503 ошибку.
Что не так делаю?

Capitan
cms_ — это префикс, а ххх. — это что? У меня так:
основной, тут все по умолчанию
'db_prefix' => 'cms_',
'db_users_table' => 'cms_users',

неосновной:

'db_prefix' => 'com_',
'db_users_table' => 'cms_users',

здесь префикс com_, а таблица пользователей переопределена
#25 13 сентября 2016 в 17:36
Dimson,

а ххх. — это что?

имя базы данных
#26 13 сентября 2016 в 17:54


Dimson,

а ххх. — это что?

имя базы данных

Capitan

А зачем оно там? Может у вас веб сервер сконфигурен каким-то особым образом… Имя бд и пользователя идет отдельными ключами:
'db_base' => 'mydbname',
'db_user' => 'myuser',
#27 13 сентября 2016 в 17:58

А зачем оно там?

Как зачем? Чтоб указать из какой бд брать таблицу cms_users
Прописывается полный путь: имябд.префикс_users Или не так? Так написано в инструкции
#28 13 сентября 2016 в 19:43


А зачем оно там?

Как зачем? Чтоб указать из какой бд брать таблицу cms_users
Прописывается полный путь: имябд.префикс_users Или не так? Так написано в инструкции

Capitan

У меня, что на локалке, что на хостинге без имябд.
Мы ведь про /system/config/config.php говорим? ))))))
#29 14 сентября 2016 в 08:22
Dimson,

Мы ведь про /system/config/config.php говорим?

Да. но у вас единая бд на оба сайта. а мне бы ну оч не хотелось так делать
#30 14 сентября 2016 в 13:50
Capitan,
То, чего Вы хотите, это подключение сайта одновременно к двум базам данных. Думаю, это не очень правильное решение.
Не проще будет написать какой-нибудь скрипт, чтобы при регистрации пользователя на одном сайте, он подключался к базе другого сайта и регистрировал там такого же пользователя?
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.