Работа плагина SEO Pro на Opencart 3 с альтернативными версиями баз данных

baltun

Администратор
Сообщения
10.870
Реакции
2.584
Баллы
2.003
Столкнулся с такой проблемой при переходе на СУБД Percona 8 (альтернативная база данных) Opencart v3 панель администратора работала, а вот сам магазин визуальная его часть нет, в браузере писалась ошибка 500. В результате причиной такого поведения оказался плагин SEO Pro, т.к. в его модификации было подключение к базе данных, но не был указан порт, который по умолчания изменился при подключении альтернативной базы данных. Для решения данной проблемы требуется изменить модификация в плагине.
Было:
PHP:
    <file path="system/config/catalog.php">
        <operation error="abort">
            <search><![CDATA[
                $_['action_pre_action']
            ]]></search>
            <add position="before"><![CDATA[
                $registry = new Registry(); $db = new DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE); $registry->set('db', $db);
                $query = $db->query("SELECT value FROM " . DB_PREFIX . "setting WHERE store_id = '0' AND `key`='config_seo_url_type'");
                $seo_type = $query->row['value'];
                if (!$seo_type) {  $seo_type = 'seo_url';  }
            ]]></add>
        </operation>
        <operation error="abort">
            <search><![CDATA['startup/seo_url']]></search>
            <add position="replace"><![CDATA['startup/'.$seo_type]]></add>
        </operation>
    </file>

Стало:
PHP:
    <file path="system/config/catalog.php">
        <operation error="abort">
            <search><![CDATA[
                $_['action_pre_action']
            ]]></search>
            <add position="before"><![CDATA[
                $registry = new Registry(); $db = new DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE, DB_PORT); $registry->set('db', $db);
                $query = $db->query("SELECT value FROM " . DB_PREFIX . "setting WHERE store_id = '0' AND `key`='config_seo_url_type'");
                $seo_type = $query->row['value'];
                if (!$seo_type) {  $seo_type = 'seo_url';  }
            ]]></add>
        </operation>
        <operation error="abort">
            <search><![CDATA['startup/seo_url']]></search>
            <add position="replace"><![CDATA['startup/'.$seo_type]]></add>
        </operation>
    </file>
 
Назад
Верх Низ