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); } }
/** * 编辑商品 * * @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; }