Поддержка общей базы пользователей для нескольких сайтов

#1 16 ноября 2015 в 12:20
Всем доброго!

Во обзоре InstantCMS 2.0 от 10.08.2013 была анонсирована возможность использовать одну базу для нескольких сайтов, чем я и решил воспользоваться. Установил еще один сайт в существующую базу. Все хорошо. Но, при попытке зайти в анкету клиента на втором сайте, второй движок начал просить компоненты от первого и как результат — ошибки.

Выяснилось, что происходит это при получении вкладок анкеты.Так, например, если вы имеете премиум или другие компоненты, которые добавляют вкладки в анкету, то на втором сайте, который использует базу первого — получите ошибку. Потому что второй сайт пытается отрисовать вкладки первого. Версия 2.3.0

Пофиксить можно так:

Открываем /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 — префикс для таблиц второго сайта, как вариант его можно выдернуть из настроек, но заморачиваться я не стал.

Просьба к разработчикам исправить этот баг в следующем релизе.
#2 16 ноября 2015 в 14:55
Спасибо тебе хороший человек (мегамозг). Я поднимал эту тему вот здесь instantcms.ru/forum/thread22991.html#220212 но никто так и не дал ответа. Сделал как написано вроде все получилось… ну по крайней мере профили стали открываться… будем тестить.
А кстати вот сразу вопросик… биллинг у меня установлен во втором сайте вкладка не появилась (ну и строчка там в персональном меню которая баланс отражает).
#3 16 ноября 2015 в 18:08
В админке в компоненте профили пользователей вкладка баланс есть? включена? Если нет, то переустановка должна помочь
#4 17 ноября 2015 в 08:02
Вот в чем вопрос что делать с платными компонентами биллин ги InstantMaps?
— Немного пред истории: Есть www.site1, создал подпапку www.site1/site2 установил туда инстант с использованием базы пользователей 1го сайта. Не работали профили пользователей, ну слава богу добрый человек написал как исправить.
— Теперь дальше… про биллинг… на сайте 2 в профиле нет вкладки баланс (ну наверно так как сюда www.site1/site2 он не установлен). Устанавливаю в сайт 2 биллинг появляется вкладка, но когда в нее заходишь билинг говорит что ключ то не подходит))) (лиц. ключ видимо не действует на подпапки хотя количество "денег" в надписи баланс показывает)
— По идее если одна база пользователей так и билинг у них у всех должен быть во всех "разделах" чтоль. Вообщем у кого есть какие соображения подскажите. Может можно как то сделать чтобы и биллинг брался с основной базы или как там?
#6 17 ноября 2015 в 09:20
Насколько мне известно, премиум компоненты должны работать на поддоменах. Попробуйте создать поддомен вида site2.site1.ru. Ну и обратитесь в тех поддержку c этим вопросом.
#7 20 ноября 2015 в 07:25
Короче написал в службу поддержки получил ответ "Общими могут быть только пользователи, но не другие данные". На вопрос "А платные компоненты то на субдомене как сделать чтобы работали?" ответ "тишина". Походу не работают премиум компоненты на субдоменах.
#8 20 ноября 2015 в 09:43
Пользователи — да, общие. Но, функционал то может быть разным. А в профиле пользователя задействован функционал в виде вкладок. Получается, что имея на одном домене платный функционал, мне придется его приобретать для другого домена иначе вовсе работать не будет. Имхо, это не правильно, потому как мне нужны общие пользователи, а не функционал.

По факту имеем, что движок пытается взять функционал с другого домена при наличии общей базы
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.