Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


konorws

Recommended Posts

Добрый день вот столкнулся с такой задачей:
Что мы имеем:
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 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.