функция-обработчик(
object node,
array &node_data
);
Обработчик события вызывается при обработке ноды объекта для XML импорта, если включена опция "Автоматически сопоставлять param со свойствами". Может возвращать false или массив значений с ключами NAME, VALUE, UNIT.
array(1) {
[0]=>
array(2) {
["NAME"]=>
string(39) "Гарантия"
["VALUE"]=>
string(1) "12 мес"
}
}
| Параметр | Описание |
|---|---|
| node | нода |
| node_data | массив значений ноды |
AddEventHandler("webprostor.import", "onAfterXmlParseParamsToProperties", Array("WebprostorImport", "ChangeImportParams"));
class WebprostorImport
{
public static function ChangeImportParams($node, &$node_data)
{
global $DEBUG_PLAN_ID;
$param_array = false;
if(is_array($node_data["outlets"]["outlet"]) && count($node_data["outlets"]["outlet"])>0)
{
foreach($node_data["outlets"]["outlet"] as $c => $param)
{
$param_data =
json_decode(
json_encode(
$node->outlets->outlet[$c]->attributes(),
JSON_OBJECT_AS_ARRAY
),
1
);
if(isset($param_data["@attributes"]["warehouse_name"]) && isset($param))
{
$param_array[] = Array(
"NAME" => 'Остатки '.$param_data["@attributes"]["warehouse_name"],
"VALUE" => $param_data["@attributes"]["instock"],
);
}
}
}
$node_data["param_array"] = $param_array; //начиная с версии модуля 3.3.0
return $param_array; //до версии 3.3.0
}
}
Начиная с версии модуля 3.3.0 не обязательно в функции обработчике возвращать переменную $param_array, можно сразу переназначить значение $node_data["param_array"]