Beispiel #1
0
 public function validate_spec()
 {
     $return_struct = array('status' => 0, 'code' => 501, 'msg' => 'Not Implemented', 'content' => array());
     try {
         //* 初始化返回数据 */
         $return_data = array('assoc' => NULL, 'count' => 0);
         //* 收集请求数据 ==根据业务逻辑定制== */
         $request_data = $this->input->get();
         if (empty($request_data['configurable_id']) || empty($request_data['attribute_spec']) || !is_array($request_data['attribute_spec'])) {
             throw new MyRuntimeException(Kohana::lang('o_global.bad_request'), 403);
         }
         $product_id = (int) $request_data['product_id'];
         $configurable_id = (int) $request_data['configurable_id'];
         $attribute_spec = $request_data['attribute_spec'];
         if (BLL_Product_Type_Configurable::attribute_spec_exists($configurable_id, $attribute_spec, $product_id)) {
             throw new MyRuntimeException(Kohana::lang('o_product.spec_has_exists_in_configurable'), 500);
         }
         //* 补充&修改返回结构体 */
         $return_struct['status'] = 1;
         $return_struct['code'] = 200;
         $return_struct['msg'] = '';
         $return_struct['content'] = $return_data;
         //* 请求类型 */
         if ($this->is_ajax_request()) {
             // ajax 请求
             // json 输出
             $this->template->content = $return_struct;
         } else {
             throw new MyRuntimeException(Kohana::lang('o_product.spec_no_exists'), 200);
         }
     } catch (MyRuntimeException $ex) {
         $this->_ex($ex, $return_struct, $request_data);
     }
 }
Beispiel #2
0
 /**
  * 编辑商品
  *
  * @param array $product
  * @return boolean
  */
 public static function set($product)
 {
     //isset($product['point'])        AND BLL_Product_Point::set($product, $product['point']);
     if (empty($product['uri_name'])) {
         $product['uri_name'] = self::crt_uri_name($product);
     }
     switch ($product['type']) {
         case ProductService::PRODUCT_TYPE_ASSEMBLY:
             BLL_Product_Type_Assembly::save($product);
             break;
         case ProductService::PRODUCT_TYPE_CONFIGURABLE:
             BLL_Product_Type_Configurable::save($product);
             break;
         case ProductService::PRODUCT_TYPE_GOODS:
         default:
             BLL_Product_Type_Simple::save($product);
             break;
     }
     BLL_Product_Feature::set_fetuoptrs($product);
     BLL_Product_Detail::set($product);
     BLL_Product_Relation::set($product);
     BLL_Product_Wholesale::set($product);
     BLL_Product_Search::set($product);
     return TRUE;
 }