Exemple #1
0
 public function basket($templ_name = 'basket')
 {
     $templ_file = '/eshop/' . $templ_name . '.tpl';
     $TEMPLATE = page::getTemplate($templ_file);
     if (!is_array($TEMPLATE)) {
         return page::errorNotFound('eshop.basket', $templ_file);
     }
     $fields = page::getFields('obj', $TEMPLATE['list']);
     $goods_list = basket::getGoodsData();
     $list = '';
     $num = $cost = 0;
     while (list($id, $goods) = each($goods_list)) {
         if ($obj = ormPages::get($id, 'goods')) {
             $num++;
             if (isset($fields['obj'])) {
                 reset($fields['obj']);
                 while (list($key, $val) = each($fields['obj'])) {
                     if ($val != 'url' && $val != 'class' && $val != 'num') {
                         page::assign('obj.' . $val, $obj->__get($val));
                     }
                 }
             }
             page::assign('obj.num', $num);
             page::assign('class-first', $num == 1 ? 'first' : '');
             page::assign('class-last', $num == basket::getCount() ? 'last' : '');
             page::assign('class-odd', $num % 2 == 0 ? 'odd' : '');
             page::assign('class-even', $num % 2 != 0 ? 'even' : '');
             page::assign('class-third', $num % 3 == 0 ? 'third' : '');
             page::assign('obj.id', $goods['goods_id']);
             page::assign('obj.cost', $goods['cost']);
             page::assign('obj.count', $goods['count']);
             page::assign('obj.url', $obj->url);
             $cost_all = $goods['cost'] * $goods['count'];
             page::assign('obj.cost_all', $cost_all);
             $cost += $cost_all;
             $list .= page::parse($TEMPLATE['list']);
         }
     }
     if (!empty($list)) {
         page::assign('cost', $cost);
         page::assign('list', $list);
         return page::parse($TEMPLATE['frame']);
     } else {
         return page::parse($TEMPLATE['empty']);
     }
 }
Exemple #2
0
 public function save()
 {
     if (basket::getCount() > 0) {
         $order_id = $this->obj->save();
         if ($order_id) {
             // Заказ сохранен добавляем в него товары
             $goods_list = basket::getGoodsData();
             while (list($id, $goods) = each($goods_list)) {
                 $obj = new ormObject();
                 $obj->setClass('eshop_goods');
                 $obj->setParent($order_id);
                 $obj->goods_id = $goods['goods_id'];
                 $obj->count = $goods['count'];
                 $obj->cost = $goods['cost'];
                 $obj->save();
             }
             // Если нужно, отправляем сообщение для текущего статуса
             $this->sendStateMsg();
             basket::clear();
             return $order_id;
         } else {
             //echo $this->obj->getErrorListText();
             // Произошла ошибка
         }
     } else {
         if (!empty($this->obj)) {
             // Изменяем данные заказа
             $order_id = $this->obj->save();
             if ($order_id) {
                 // Если нужно, отправляем сообщение для текущего статуса
                 $this->sendStateMsg();
                 return $order_id;
             } else {
                 //echo $this->obj->getErrorListText();
                 // Произошла ошибка
             }
         } else {
             // Корзина путая, создать новый заказ не возможно
         }
     }
     return false;
 }