你现在的位置:首页 > PHP网站建设知识库 > ZenCart > 正文

解决zencart后台手工输入产品ID添加特价商品的错误

zencart中,添加特价产品的时候,如果数据库比较大,可以根据商品编号手工添加特价商品当商品很多,从页面的下拉菜单中选择商品不方便时,采用输入预添加的商品编号来快速的添加特价产品,这种方式比较好。 

正常的流程是添加这个产品ID后,就进入编辑特价和时间,然后就添加到特价表里面。这种方法适应产品比较多的时候,选择产品比较麻烦的时候才用的,它能减少挑选商品的时间。但是默认的后台,添加的时候是会出错的.下面就是错误提示: 

1366 Incorrect decimal value: '' for column 'specials_new_products_price' at row 1 
in: 
[insert into specials (products_id, specials_new_products_price, specials_date_added, expires_date, status, specials_date_available) values ('23', '', now(), '0001-01-01', '1', '0001-01-01')] 
If you were entering information, press the BACK button in your browser and re-check the information you had entered to be sure you left no blank fields. 

这个错误是因为specials_new_products_price这个字段没有赋值。 

所以要修改admin\specials.php这个文件里面的代码,找到// add empty special这个地方,在下面添加 

$specials_price=((zen_db_prepare_input($_POST['specials_price']) == '') ? '0.0' : zen_date_raw($_POST['specials_price'])); 

因为用这种方式这个没有赋值,所以在这里判断,如果是空的就设置为0.0. 
修改后就可以正常了。