ps-simpla Posted November 26, 2020 Report Share Posted November 26, 2020 Добрый вечер форумчане, подскажите может кто то реализовывал данный метод: Надо подключиться к двум базам данных первая для товаров, заказов, брендов, категорий, свойств, картинок, варианты, комментариев вторая для всего остального (настройки, страницы, блог, дизайн и т.д.) P.S. Зачем? Надо ))) если серьезно то более 12 магазинов в них все товары, заказы, бренды, категории свойства, картинки, варианты, комментарии одинаковые будут В одну базу данных запихивать все таблицы с разными префиксами не вариант Кто может подсказать как это сделать? Quote Link to post Share on other sites
Kosjak76 Posted November 26, 2020 Report Share Posted November 26, 2020 Можно, например, для всего остального в таблицы добавить site_id или что-то вроде и выбирать по нему для разных сайтов. Quote Link to post Share on other sites
DaVinci Posted November 26, 2020 Report Share Posted November 26, 2020 (edited) нужно переключатся между базами или держать одновременное подключение к множествам баз? если переключатся то https://github.com/pikusov/Simpla/blob/9fefafa38dc739b4348b4a2940cba8bc8e4363ed/api/Database.php#L46 в этом месте достаточно подменять параметры подключения Edited November 26, 2020 by DaVinci Quote Link to post Share on other sites
yr4ik Posted November 26, 2020 Report Share Posted November 26, 2020 (edited) Делал когда то. Расписывать сильно нет времени. Все что нужно есть в архиве. Из основного - нужно будет переименовать config/config.php в config/config.cfg и в нем закомментировать секции (все что идет в скобках ;[xxx]) - для примера навсяк кинул. После этого расширяться возможности. Можно будет для отдельных хостов делать свои конфиги Примеры в папке config Параметры БД в database.cfg simpla.db_server - simpla (что начинается с simpla - основная БД) К ней можно обращаться: $this->db->simpla->query(xxxx); $this->db->query(xxxx); далее создаем какие нам нужно (в примере): manticore.db_server = 127.0.0.1; После чего что бы обратиться к этой базе в коде вызываем $this->db->manticore->query(xxxx); Если такое подключение не нужно - то можно замутить через подконфиги в папке config.host В Simpla.php добавить новые api и передачу объекта в классы // Сохраняем для будущих обращений к нему self::$objects[$name] = new $class($this); В общем дерзайте Тут файлы не крепятся. Скачать: https://drive.google.com/file/d/1zJLkzCCNYtA_-_az_mQGUzkQvq8_ygA0/view?usp=sharing Edited November 28, 2020 by yr4ik Quote Link to post Share on other sites
phukortsin Posted November 27, 2020 Report Share Posted November 27, 2020 (edited) Делалось когда так (идейно неправильно, но весьма быстро и легко): 1. В api/Simpla.php добавить строку 'db2' => 'Database2', 2. Создать api/Database2.php как копию api/Database.php 3. В api/Database2.php изменить 3.1 class Database2 extends Simpla 3.2 $this->mysqli = new mysqli($this->config->db_server2, $this->config->db_user2, $this->config->db_password2, $this->config->db_name2); 4. В config/config.php добавить ;Сервер базы данных db_server2 = "localhost" ;Пользователь базы данных db_user2 = "u" ;Пароль к базе db_password2 = "p" ;Имя базы db_name2 = "simpla2" 5. Использование: require_once('api/Simpla.php'); $simpla = new Simpla(); $simpla->db->query("SELECT * from __currencies "); print_r($simpla->db->results()); $simpla->db2->query("SELECT * from __currencies "); print_r($simpla->db2->results()); Edited November 27, 2020 by phukortsin Quote Link to post Share on other sites
Kami Posted November 27, 2020 Report Share Posted November 27, 2020 В 26.11.2020 в 20:55, ps-simpla сказал: Добрый вечер форумчане, подскажите может кто то реализовывал данный метод: Надо подключиться к двум базам данных первая для товаров, заказов, брендов, категорий, свойств, картинок, варианты, комментариев вторая для всего остального (настройки, страницы, блог, дизайн и т.д.) P.S. Зачем? Надо ))) если серьезно то более 12 магазинов в них все товары, заказы, бренды, категории свойства, картинки, варианты, комментарии одинаковые будут В одну базу данных запихивать все таблицы с разными префиксами не вариант Кто может подсказать как это сделать? Будут реализованы 12 поддоменов? тогда просто сделать 12 баз, и в зависимости от поддомена подключать определенную базу. config.php - site.ru config-msk.php msk.site.ru config-spb.php spb.site.ru Проверяем на наличие поддоменов и подставляем префиксы аналогично поддомену, в Api/Config.php. А там дальше останется только создать базы. Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.