Имеется интернет-магазин, работающий на CMS 1C-Битрикс. Данные о товарах на сайт поступают после обработки xml-файлов от 7 разных поставщиков. После смены одним из поставщиков параметров в xml-файле перестали отображаться данные по остаткам. У остальных поставщиков данной проблемы не возникло. Обработка прайсов происходит при помощи XMLReader на PHP. Насколько я понимаю, из прай-листа поставщика берется строка, в которой (которых) описывается количество товара:
<param name="status">Ожидается</param>
<param name="status">В наличии</param>
или
<stock1>1</stock1>
Вот рабочие параметры из файла init.php:
case "param":
if("status" != $xmlReader->getAttribute('name') && "Status" != $xmlReader->getAttribute('name')) continue;
$xmlReader->read();
if($xmlReader->nodeType == XMLReader::TEXT) {
$text = $xmlReader->value;
if(strpos($text,"В наличии") !== false){
$result['available'] = true;
}
if(strpos($text,"менее") !== false){
$result['available'] = true;
}
}
break;
case "stock":
$xmlReader->read();
if($xmlReader->nodeType == XMLReader::TEXT) {
$stock = (string)$xmlReader->value;
$stock = preg_replace("/[^0-9]/", '', strip_tags($stock));
$result['available'] = (intVal($stock) > 0);
}
break;
У проблемного поставщика в xml-файле раньше были параметры "есть в наличии" и "нет в наличии", сейчас они такие:
<available>false</available>
<available>true</available>
Что нужно добавить в файл init.php, чтобы остатки товаров данного поставщика корректно отображалсь?