We're trying to add a fixed value to the end of the an array, the code we currently have is:
foreach ($items as $k => $value)
{
$xml['Contact']['Document']['Item'][$k]['Partcode'] = $value['sku'];
$modifiers = '';
if($modifiers_arr = json_decode($value['modifiers']))
{
foreach ($modifiers_arr as $mod_key => $mod_val)
{
$modifiers .= "{$mod_val->modifier_name} {$mod_val->modifier_value} ";
if(@$mod_val->price_mod)
{
$modifiers .= "{$mod_val->price_mod} ";
}
}
}
$xml['Contact']['Document']['Item'][$k]['Description'] = "{$value['title']} {$modifiers}";
$xml['Contact']['Document']['Item'][$k]['Quantity'] = "{$value['item_qty']}";
$xml['Contact']['Document']['Item'][$k]['UnitPrice'] = "{$value['price']}";
$xml['Contact']['Document']['Item'][$k]['UnitTax'] = round($value['item_tax'] / $value['item_qty'],2);
$xml['Contact']['Document']['Item'][$k]['UnitNetPrice'] = $value['price'] - round(($value['item_tax'] / $value['item_qty']),2);
}
Which outputs:
<Item>
<Partcode>GRF72</Partcode>
<Description>Odour Eliminator </Description>
<Quantity>1</Quantity>
<UnitPrice>4.99</UnitPrice>
<UnitTax>0.83</UnitTax>
<UnitNetPrice>4.16</UnitNetPrice>
</Item>
However we want to add a fixed value after this (there can be an unlimited amount of items returned from the array), so it would end up looking like:
<Item>
<Partcode>GRF72</Partcode>
<Description>Product title</Description>
<Quantity>1</Quantity>
<UnitPrice>4.99</UnitPrice>
<UnitTax>0.83</UnitTax>
<UnitNetPrice>4.16</UnitNetPrice>
</Item>
<Item>
<Partcode>CAR01</Partcode>
<Description>Delivery</Description>
<Quantity>1</Quantity>
<UnitPrice>4.99</UnitPrice>
<UnitTax>0</UnitTax>
<UnitNetPrice>4.99</UnitNetPrice>
</Item>
Have tried just added this code after the array, but it doesn't format it correctly, any ideas?
$xml['Contact']['Document']['Item']['Partcode'] = "CAR01";
$xml['Contact']['Document']['Item']['Description'] = "Shipping";
$xml['Contact']['Document']['Item']['Quantity'] = "1";
$xml['Contact']['Document']['Item']['UnitPrice'] = $order_data['order_shipping'];
$xml['Contact']['Document']['Item']['UnitTax'] = "0";
$xml['Contact']['Document']['Item']['UnitNetPrice'] = $order_data['order_shipping'];
Simply outputs as:
<Item>
<Partcode>GRF72</Partcode>
<Description>Odour Eliminator </Description>
<Quantity>1</Quantity>
<UnitPrice>4.99</UnitPrice>
<UnitTax>0.83</UnitTax>
<UnitNetPrice>4.16</UnitNetPrice>
</Item>
<Item>CAR01</Item>
<Item>Shipping</Item>
<Item>1</Item>
<Item>0.00</Item>
<Item>0</Item>
<Item>0.00</Item>