|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
Столкнулся у одного из заказчиков с такой проблемой: каталог товаров из 1С8 в модуль "Интернет-магазин" через админку закачивался нормально, а через автоматический обмен завершался неудачей, хотя все настроили в соответствии с инструкцией. Версия неткат 4.7, с установленными патчами до 4.72
После долгих и мучительных разбирательств удалось найти причину ошибки.
Она оказалась в скрипте /netcat/modules/netshop/import/1c8.php, а заключается она в том, что этот скрипт пытался подключить языковый файл для языка, который не был определен. Собсно вот фрагмент кода:
Код:include_once ($NETCAT_FOLDER."vars.inc.php");
require_once ($ROOT_FOLDER."connect_io.php");
$MODULE_VARS = $nc_core->modules->get_module_vars();
if (is_file($MODULE_FOLDER."netshop/".MAIN_LANG.".lang.php")) {
require_once($MODULE_FOLDER."netshop/".MAIN_LANG.".lang.php");
} else {
require_once($MODULE_FOLDER."netshop/en.lang.php");
}
А константа MAIN_LANG нигде в подключаемых файлах не задана.
Ее задает файл netcat/require/index.php, который нужно подключать так:
Код:include_once($INCLUDE_FOLDER."index.php");
Эта команда есть ниже, уже после парсинга GET-параметров, но язык-то детектится еще до разбора GET-параметров, поэтому толку от нее не было.
Для решения проблемы я дополнил код таким образом:
Код:include_once ($NETCAT_FOLDER."vars.inc.php");
include_once($INCLUDE_FOLDER."index.php"); // добавлено
require_once ($ROOT_FOLDER."connect_io.php");
И все заработало.
Возможно, кому-то пригодится рецепт. В техподдержку сейчас тоже напишу.
|
|
MipH
Спирин Дмитрий
Зарегистрирован: 2004-12-22
Сообщений: 252
|
Неткетовцам давно уже пора начать писать на ВСЕ компоненты, файлы юнит-тесты, если этого еще не сделали.
bbzone@gmail.com | bbz.ru | miph.info | miph.ruВы можете обратиться ко мне, если необходима разработка функционала на NetCat
|