Столкнулся с проблемой.
Для выгрузки в Сбермегамаркет надо выводить количество в виде:
<outlets>
<outlet id="1" instock="50"/>
</outlets>
где instock="50" это количество на складе, а outlet id="1" - ID склада который будет константой.
Сейчас у нас количество выгружается вот таким образом
<count>10010</count>
Код:
Присвоение значение переменной
if (!empty($product['yml_sber_fbs_quantity'])) {
$data['count'] =$product['yml_sber_fbs_quantity'];
Вывод сформированного массива значений в файл :
* @param array $data - массив параметров товарного предложения
$data = array_intersect_key($data, $allowed_tags);
$allowed_tags = array_intersect_key($allowed_tags, $data);
// Стандарт XML учитывает порядок следования элементов,
// поэтому важно соблюдать его в соответствии с порядком описанным в DTD
$offer['data'] = array();
foreach ($allowed_tags as $key => $value) {
if (!isset($data[$key]))
continue;
if (is_array($data[$key])) {
foreach ($data[$key] as $i => $val) {
$offer['data'][$key][$i] = $this->prepareField($val);
}
}
else {
$offer['data'][$key] = $this->prepareField($data[$key]);
}
}
$this->offers[] = $offer;
}
Вопрос: как при такой организации вывода можно вывести тэг вложенный в тэг.
Присвоить $data['count'] = '<тэг >' . $product['yml_sber_fbs_quantity'] . '</тэг>'; не получается, скобки игнорируются. Экранировать символы с помощью слэша так же не получается.
Полный файл кода во вложении.
yml_sber.php