Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Работа opencart с 2 и больше БД


konorws
 Поделиться

Рекомендованные сообщения

Добрый день вот столкнулся с такой задачей:
Что мы имеем:
1) 5 Грубо говоря интернет магазинов (3 из которых на Opencart 1.5.6)
2) И задача собирать некую информацию со всех в одну БД (скажем так своя мини CRM)

Я решил ничего не мудрить и просто научить Opencart работать с 2 базами данных
Решилось довольно просто

1) Вносим параметры подключения к БД в конце файла config.php я решил cделать с расчетом на то что в будущем прийдется подключатся к еще нескольки БД поэтому создал масив с подключениями

$ArrayDB = array(); // Масив с подлючениями
$arrayDB[] = array( // Добавляем подключения в масив
	'DB_KEY'		=> 'db_crm', // Ключ для метода $this->[DB_KEY]->query();
	'DB_DRIVER' 	=> 'mysql',		
	'DB_HOSTNAME'	=> 'localhost',
	'DB_USERNAME'	=> 'root',
	'DB_PASSWORD'	=> '',
	'DB_DATABASE'	=> 'CRM',
	'DB_PREFIX'  	=> ''
);

 2) Открываем index.php и ищем 

// Database 
$db = new DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
$registry->set('db', $db);

После него добавляем эти строчки

foreach($arrayDB as $db_add){
	${$db_add['DB_KEY']} = new DB($db_add['DB_DRIVER'],$db_add['DB_HOSTNAME'],$db_add['DB_USERNAME'],$db_add['DB_PASSWORD'],$db_add['DB_DATABASE']);
	$registry->set($db_add['DB_KEY'],${$db_add['DB_KEY']});
} 

Все теперь в наших моделях можно спокойно работать с второй базой используя такую конструкци


$result = $this->[DB_KEY]->query('SELECT * FROM `table` ');
$result = $this->db_crm->query('SELECT * FROM `table` ');
// Насчет префикса тут есть нюанс я его не использую в дополнительных БД поэтому сюда не включал но есле будет нужно спокойно можно добавить

 

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.