Такая проблема в PHP генерится структура XML
Данный код по доставке работает без проблем и выглядит
if($order->delivery_price>0 && !$order->separate_delivery)
{
$t1 = $t1->addChild ( 'Товар' );
$t1->addChild ( "Ид", 'ORDER_DELIVERY');
$t1->addChild ( "Наименование", 'Доставка');
$t1->addChild ( "ЦенаЗаЕдиницу", $order->delivery_price);
$t1->addChild ( "Количество", 1 );
$t1->addChild ( "Сумма", $order->delivery_price);
$t1_2 = $t1->addChild ( "ЗначенияРеквизитов" );
$t1_3 = $t1_2->addChild ( "ЗначениеРеквизита" );
$t1_4 = $t1_3->addChild ( "Наименование", "ВидНоменклатуры" );
$t1_4 = $t1_3->addChild ( "Значение", "Услуга" );
$t1_2 = $t1->addChild ( "ЗначенияРеквизитов" );
$t1_3 = $t1_2->addChild ( "ЗначениеРеквизита" );
$t1_4 = $t1_3->addChild ( "Наименование", "ТипНоменклатуры" );
$t1_4 = $t1_3->addChild ( "Значение", "Услуга" );
}
А в XMl
spoiler
<Товар>
<Ид>ORDER_DELIVERY</Ид>
<Наименование>Доставка</Наименование>
<ЦенаЗаЕдиницу>215.00</ЦенаЗаЕдиницу>
<Количество>1</Количество>
<Сумма>215.00</Сумма>
<ЗначенияРеквизитов>
<ЗначениеРеквизита>
<Наименование>ВидНоменклатуры</Наименование>
<Значение>Услуга</Значение>
</ЗначениеРеквизита>
</ЗначенияРеквизитов>
<ЗначенияРеквизитов>
<ЗначениеРеквизита>
<Наименование>ТипНоменклатуры</Наименование>
<Значение>Услуга</Значение>
</ЗначениеРеквизита>
</ЗначенияРеквизитов>
</Товар>
Нужно добавить точную копию только с другим названием, для этого делаю так
spoiler
// Доставка
if($order->delivery_price>0 && !$order->separate_delivery)
{
$t1 = $t1->addChild ( 'Товар' );
$t1->addChild ( "Ид", 'ORDER_DELIVERY');
$t1->addChild ( "Наименование", 'Доставка');
$t1->addChild ( "ЦенаЗаЕдиницу", $order->delivery_price);
$t1->addChild ( "Количество", 1 );
$t1->addChild ( "Сумма", $order->delivery_price);
$t1_2 = $t1->addChild ( "ЗначенияРеквизитов" );
$t1_3 = $t1_2->addChild ( "ЗначениеРеквизита" );
$t1_4 = $t1_3->addChild ( "Наименование", "ВидНоменклатуры" );
$t1_4 = $t1_3->addChild ( "Значение", "Услуга" );
$t1_2 = $t1->addChild ( "ЗначенияРеквизитов" );
$t1_3 = $t1_2->addChild ( "ЗначениеРеквизита" );
$t1_4 = $t1_3->addChild ( "Наименование", "ТипНоменклатуры" );
$t1_4 = $t1_3->addChild ( "Значение", "Услуга" );
}
// Оплата за наложенный платеж
if($order->payment_price>0)
{
$t1 = $t1->addChild ( 'Товар' );
$t1->addChild ( "Ид", 'DOP_PAYMENT');
$t1->addChild ( "Наименование", 'Наложенный');
$t1->addChild ( "ЦенаЗаЕдиницу", $order->payment_price);
$t1->addChild ( "Количество", 1 );
$t1->addChild ( "Сумма", $order->payment_price);
$t1_2 = $t1->addChild ( "ЗначенияРеквизитов" );
$t1_3 = $t1_2->addChild ( "ЗначениеРеквизита" );
$t1_4 = $t1_3->addChild ( "Наименование", "ВидНоменклатуры" );
$t1_4 = $t1_3->addChild ( "Значение", "Услуга" );
$t1_2 = $t1->addChild ( "ЗначенияРеквизитов" );
$t1_3 = $t1_2->addChild ( "ЗначениеРеквизита" );
$t1_4 = $t1_3->addChild ( "Наименование", "ТипНоменклатуры" );
$t1_4 = $t1_3->addChild ( "Значение", "Услуга" );
}
и в XML получается ошибка - тег Товар первого блока , полностью оборачивает оба блока, а должны просто идти друг за другом.
spoiler
<Товар>
<Ид>ORDER_DELIVERY</Ид>
<Наименование>Доставка</Наименование>
<ЦенаЗаЕдиницу>215.00</ЦенаЗаЕдиницу>
<Количество>1</Количество>
<Сумма>215.00</Сумма>
<ЗначенияРеквизитов>
<ЗначениеРеквизита>
<Наименование>ВидНоменклатуры</Наименование>
<Значение>Услуга</Значение>
</ЗначениеРеквизита>
</ЗначенияРеквизитов>
<ЗначенияРеквизитов>
<ЗначениеРеквизита>
<Наименование>ТипНоменклатуры</Наименование>
<Значение>Услуга</Значение>
</ЗначениеРеквизита>
</ЗначенияРеквизитов>
<Товар>
<Ид>ORDER_DELIVERY</Ид>
<Наименование>Доставка</Наименование>
<ЦенаЗаЕдиницу>215.00</ЦенаЗаЕдиницу>
<Количество>1</Количество>
<Сумма>215.00</Сумма>
<ЗначенияРеквизитов>
<ЗначениеРеквизита>
<Наименование>ВидНоменклатуры</Наименование>
<Значение>Услуга</Значение>
</ЗначениеРеквизита>
</ЗначенияРеквизитов>
<ЗначенияРеквизитов>
<ЗначениеРеквизита>
<Наименование>ТипНоменклатуры</Наименование>
<Значение>Услуга</Значение>
</ЗначениеРеквизита>
</ЗначенияРеквизитов>
</Товар>
</Товар>
Что не так то? Вроде все закрыто без ошибок