[REVO] Revo и подключение к внешней БД

Добрый день!
Кто то пробовал таую штуку?
РТФМ говорит, что можно, и дает пример, но на практике постоянно выдает сообщение — нет связи с базой.

3 комментария

avatar
Старый, проверенный способ.
Создаём файл, к примеру /core/dbConnectionTest.php
с кодом
<?php
$dsn = 'mysql:host=localhost;dbname=namedb;charset=utf8';
$xpdo2= new xPDO($dsn,"username","password",
                                        array (
                                                XPDO::OPT_CACHE_PATH => 'cache/',
                                                XPDO::OPT_TABLE_PREFIX => 'modx_',
                                                XPDO::OPT_HYDRATE_FIELDS => true,
                                                XPDO::OPT_HYDRATE_RELATED_OBJECTS => true,
                                                XPDO::OPT_HYDRATE_ADHOC_FIELDS => true,
                                                XPDO::OPT_VALIDATE_ON_SAVE => true,
                                        ),
                                        array (
                                                PDO::ATTR_ERRMODE => PDO_ERRMODE_SILENT,
                                                PDO::ATTR_PERSISTENT => false,
                                                PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true
                                        )
                                ); 

далее, если база не модекса, то создаём пакет или модель, для работы с БД
и уже в файле (сниппете), где нужно использовать, всё более стандартно
<?php
include(MODX_BASE_PATH."core/dbConnectionTest.php");
$xpdo2->addPackage('AviaHot',MODX_BASE_PATH.'core/model/aviahot/','modx_');

и дальше стандартный набор модекса
$xpdo2->newObject ... $xpdo2->getObject ....
avatar
к внешней БД/blockquote> — это к другой БД? Я правильно же понял?
avatar
Благодарю, попробую.
Да, внешняя БД -не модиксовая )
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.