Добрый день.
Прошу помочь.
в 1с размеры товара хранятся в метрах а на сайте - в миллиметрах.
Задача настроить конвертацию из метров в миллиметры.
Решения в модуле обмена я не нашел, на форуме также не увидел подобного.
Решил попробовать конвертировать через событие в init.php.
Закинул в лог поглядеть что там есть.
[CODE]AddEventHandler("iblock", "OnBeforeIBlockElementUpdate","ConvertSize");
function ConvertSize(&$arFields) {
if ($_REQUEST['mode']=='import') {
Debug::dumpToFile($arFields, "PARAM", '/log.txt');
}
}
[/CODE]
Через dumpToFile выявил что размеры лежат в данных полях:
[CODE]...
["WIDTH"]=>
float(0.19)
["LENGTH"]=>
float(0.16)
["HEIGHT"]=>
float(0.16)
...
[/CODE]Пытаюсь подменить на лету в функции ConvertSize(), к примеру ширину товара
За код не пинайте не суть.
[CODE]$length = str_replace("float(", "", $arFields['LENGTH']);
$length = str_replace(")", "", $length);
$length = $length * 1000;
$arFields['LENGTH'] = 'float('.$length.')';
[/CODE]
float(190)[/CODE]Но при этом в товаре ничего не меняется как было 0,19 так и остается.
Подскажите в чем может быть проблема.
Прошу помочь.
в 1с размеры товара хранятся в метрах а на сайте - в миллиметрах.
Задача настроить конвертацию из метров в миллиметры.
Решения в модуле обмена я не нашел, на форуме также не увидел подобного.
Решил попробовать конвертировать через событие в init.php.
Закинул в лог поглядеть что там есть.
[CODE]AddEventHandler("iblock", "OnBeforeIBlockElementUpdate","ConvertSize");
function ConvertSize(&$arFields) {
if ($_REQUEST['mode']=='import') {
Debug::dumpToFile($arFields, "PARAM", '/log.txt');
}
}
[/CODE]
Через dumpToFile выявил что размеры лежат в данных полях:
[CODE]...
["WIDTH"]=>
float(0.19)
["LENGTH"]=>
float(0.16)
["HEIGHT"]=>
float(0.16)
...
[/CODE]Пытаюсь подменить на лету в функции ConvertSize(), к примеру ширину товара
За код не пинайте не суть.
[CODE]$length = str_replace("float(", "", $arFields['LENGTH']);
$length = str_replace(")", "", $length);
$length = $length * 1000;
$arFields['LENGTH'] = 'float('.$length.')';
[/CODE]
В итоге подмена удачна в $arFields['LENGTH'] хранится "float(190)";
Через dumpToFile убеждаюсь что все успешно
[CODE]["WIDTH"]=>float(190)[/CODE]Но при этом в товаре ничего не меняется как было 0,19 так и остается.
Подскажите в чем может быть проблема.