public function renderDeliveryList(order $order, $template, $selfDeliveryOnly = false) { $tplPrefix = $selfDeliveryOnly ? 'self_' : ''; list($tpl_block, $tpl_item_free, $tpl_item_priced) = def_module::loadTemplates("emarket/delivery/{$template}", $tplPrefix . 'delivery_block', $tplPrefix . 'delivery_item_free', $tplPrefix . 'delivery_item_priced'); if (!isset($_SESSION['emarket'])) { $_SESSION['emarket'] = array(); } if (!isset($_SESSION['emarket']['delivery'])) { $_SESSION['emarket']['delivery'] = array(); } $deliveryIds = delivery::getList($selfDeliveryOnly); $items_arr = array(); $currentDeliveryId = $order->getValue('delivery_id'); foreach ($deliveryIds as $delivery) { $delivery = delivery::get($delivery); if ($delivery->validate($order) == false) { continue; } $deliveryObject = $delivery->getObject(); $deliveryPrice = $delivery->getDeliveryPrice($order); $_SESSION['emarket']['delivery'][$delivery->id] = (double) $deliveryPrice; $item_arr = array('attribute:id' => $deliveryObject->id, 'attribute:name' => $deliveryObject->name, 'attribute:price' => $deliveryPrice . '', 'xlink:href' => $deliveryObject->xlink); if ($delivery->id == $currentDeliveryId) { $item_arr['attribute:active'] = 'active'; $item_arr['void:checked'] = 'checked="checked" '; } else { $item_arr['void:checked'] = ''; } $tpl_item = $deliveryPrice ? $tpl_item_priced : $tpl_item_free; $items_arr[] = def_module::parseTemplate($tpl_item, $item_arr, false, $deliveryObject->id); } return def_module::parseTemplate($tpl_block, array('subnodes:items' => $items_arr)); }