不少使用Zen Cart的朋友发现Zen Cart的系统默认定单号并不一定是大家想要的,很多人希望通过定单时间来确定不同的定单号以方便管理和使用,这里发布下目前适合1.38版本的定单时间与随机数字结合产生定单号的方法,在 includesclassesorder.php里需要做出如下的代码调整,注意::修改前请一定要备份好数据库,以防出现调整错误。
具体方法,在order.php里:
functioncreate($zf_ot_modules,$zf_mode=2){global$db;$t1=date("Ymd");srand((float)microtime()*10000000);$input=array("1","2","3","4","5","6","7","8","9","0");$rand_keys=array_rand($input,2);//$t1 = $input[$rand_keys[0]];$t2=$input[$rand_keys[1]];$t3=rand(0,9);$ordernum=$t1.$t2.$t3;if($this->info['total']==0){if(DEFAULT_ZERO_BALANCE_ORDERS_STATUS_ID==0){$this->info['order_status']=DEFAULT_ORDERS_STATUS_ID;}else{$this->info['order_status']=DEFAULT_ZERO_BALANCE_ORDERS_STATUS_ID;}}if($_session['shipping']==‘free_free’){$this->info['shipping_module_code']=$_SESSION['shipping'];}$sql_data_array=array(’orders_id’=>$ordernum,‘customers_id’=>$_SESSION['customer_id'],‘customers_name’=>$this->customer['firstname'].‘ ‘.$this->customer['lastname'],‘customers_company’=>$this->customer['company'],‘customers_street_address’=>$this->customer['street_address'],‘customers_suburb’=>$this->customer['suburb'],‘customers_city’=>$this->customer['city'],‘customers_postcode’=>$this->customer['postcode'],‘customers_state’=>$this->customer['state'],‘customers_country’=>$this->customer['country']['title'],‘customers_telephone’=>$this->customer['telephone'],‘customers_email_address’=>$this->customer['email_address'],‘customers_address_format_id’=>$this->customer['format_id'],‘delivery_name’=>$this->delivery['firstname'].‘ ‘.$this->delivery['lastname'],‘delivery_company’=>$this->delivery['company'],‘delivery_street_address’=>$this->delivery['street_address'],‘delivery_suburb’=>$this->delivery['suburb'],‘delivery_city’=>$this->delivery['city'],‘delivery_postcode’=>$this->delivery['postcode'],‘delivery_state’=>$this->delivery['state'],‘delivery_country’=>$this->delivery['country']['title'],‘delivery_address_format_id’=>$this->delivery['format_id'],‘billing_name’=>$this->billing['firstname'].‘ ‘.$this->billing['lastname'],‘billing_company’=>$this->billing['company'],‘billing_street_address’=>$this->billing['street_address'],‘billing_suburb’=>$this->billing['suburb'],‘billing_city’=>$this->billing['city'],‘billing_postcode’=>$this->billing['postcode'],‘billing_state’=>$this->billing['state'],‘billing_country’=>$this->billing['country']['title'],‘billing_address_format_id’=>$this->billing['format_id'],‘payment_method’=>(($this->info['payment_module_code']==”and$this->info['payment_method']==”)?PAYMENT_METHOD_GV:$this->info['payment_method']),‘payment_module_code’=>(($this->info['payment_module_code']==”and$this->info['payment_method']==”)?PAYMENT_MODULE_GV:$this->info['payment_module_code']),’shipping_method’=>$this->info['shipping_method'],’shipping_module_code’=>(strpos($this->info['shipping_module_code'],‘_’)>0?substr($this->info['shipping_module_code'],0,strpos($this->info['shipping_module_code'],‘_’)):$this->info['shipping_module_code']),‘coupon_code’=>$this->info['coupon_code'],‘cc_type’=>$this->info[