Ejemplo n.º 1
0
 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));
 }