2015-06-03 1 views
0

Интересно, можно ли включить независимый запрос в базу данных WordPress в магазине OpenCart.Включить подключение к Wordpress в OpenCart

Я попробовал код, как это для того, чтобы просто отобразить одну конкретную должность на шаблон:

$wpbridge = new PDO('mysql:host='.$host.';dbname='.$base, $user, $pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8')); 
$wpquery = $wpbridge -> query(" [...] "); 
$wpcontent = $wpquery -> fetch(PDO::FETCH_ASSOC); 

Но я получаю такую ​​ошибку:

Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in [...]\home_test.inc on line 1 
PDOException: could not find driver in [...]\home_test.inc on line 1 

Я полагаю, моя попытка подключения сталкивается с основной (поселился в system>library>db>mpdo.php), используемый магазином.

Кто-нибудь знает возможный способ обойти это ограничение (для использования временного второго соединения)?

ответ

0

Я бы не рекомендовал устанавливать соединение с базой данных в вашем файле вида, но если это действительно то, что вы хотите сделать, то вы можете сделать что-то вроде этого: (предположим, вы используете Opencart 2.x)

$wpbridge = new DB("mysqli", $hostname, $username, $password, $database); 
$wpcontent = $wpbridge->query($sql); 

Ваш $wpcontent переменная будет содержать (ассоциативно) принес результат запроса.

Opencart использует шаблон проектирования MVC (L), и я бы рекомендовал вам разделить код на эти слои, поскольку его легче отлаживать и поддерживать.

+0

Я фактически использую OC 2. С помощью этого метода я получаю [различные ошибки] (https://gist.github.com/GizMecano/cec41cee2fd6c7c547a6#file-test-1). Как вы рекомендуете разделять код на уровни MVC, предлагаете ли вы использовать другой файл, кроме шаблона? Я бы предпочел не изменять основную систему. –

+0

Является ли база данных WP на том же сервере ...? Вы уверены, что данные в базе данных верны? –

+0

Я думаю, что вы правильно указали мою проблему: базы данных WP и OC _aren't на том же сервере_ (но это будет только на этапе разработки). Я полагаю, что я должен перенести WP на локальный сервер, чтобы решить проблему, или у вас есть какие-либо другие предложения? –