admin Опубликовано 19 марта, 2022 Поделиться Опубликовано 19 марта, 2022 Иногда система OCMOD на OpenCart может перестать работать во фронтенде, и вы можете потратить какое-то время в поисках причины. Кажется, это довольно частая проблема, потому вот несколько советов по тому, как самостоятельно решить проблему, связанную с OCMOD. Что вызывает эту проблему? В 100% случаев, которые возникали у нас, проблема была вызвана присутствием константы DIR_CATALOG в файле config.php. Поскольку по умолчанию эта константа присутствует только в панели администратора, функция модификации проверяет, определена ли она и, если да, то ищет модификации в папке администратора. Таким образом, когда эта константа присутствует в части каталога, OpenCart путается и ищет модификации в папке администратора, но они обычно не присутствуют там, или эти модифицированные файлы имеют совершенно другую логику, и начинают возникать ошибки. Как решить эту проблему? Будет лучше, если вы знаете, какое расширение/настройка используют константу DIR_CATALOG в каталоге, и свяжетесь с его разработчиком и попросите их внести исправления в расширение и убрать параметр из файла config.php. Таким образом вы сохраните более чистую версию OpenCart, что поможет в будущем, когда вам нужно будет обновить систему. Ваш второй вариант состоит в том, чтобы модифицировать файл system/startup.php. Откройте его и найдите функцию модификации. Она должна находиться где-то около середины файла и выглядит так: function modification($filename) { if (!defined('DIR_CATALOG')) { $file = DIR_MODIFICATION . 'catalog/' . substr($filename, strlen(DIR_APPLICATION)); } else { $file = DIR_MODIFICATION . 'admin/' . substr($filename, strlen(DIR_APPLICATION)); } if (substr($filename, 0, strlen(DIR_SYSTEM)) == DIR_SYSTEM) { $file = DIR_MODIFICATION . 'system/' . substr($filename, strlen(DIR_SYSTEM)); } if (is_file($file)) { return $file; } return $filename; } Измените следующую строку: if (!defined('DIR_CATALOG')) { на if (basename(DIR_APPLICATION) == ‘catalog’) { и это должно решить проблему. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.