上传数据插件 Easy Populate 遇到问题 ?langer=remove

时间:2022-04-16 05:58:19

批量上传,出现如下错误提示: 
ADD NEW PRODUCT FAILED! – Model: no200 – SQL error. Check Easy Populate error log in uploads directoryMySQL error 1054: Unknown column 'p.EASYPOPULATE_CONFIG_CUSTOM_FIELDS' in 'field list'。 
Zen Cart开源网店系统是优秀的, 这点不用怀疑. Easy Populate 是方便的, 这点也不用怀疑. 安装后发现了两个小问题: 
watches for sale 
  
1. install_sql 最后少了一行语句, 语句用于写入 `EASYPOPULATE_CONFIG_CUSTOM_FIELDS` 设置 
2. /admin/easypopulate.php 多了两行语句, 这两行语句将引起执行错误, 典型的错误如下: 
  
MySQL error 1110: Column 'products_last_modified' specified twice 
  
When executing: 
  
INSERT INTO zen_products SET 
  
products_model = '10001' ,

最模板解决方法: 
  
1. 将install_sql最后一个 ” ; ” 替换为 ” , ” 并在下一行加入以下代码: 
  
('', 'Custom Products Fields', 'EASYPOPULATE_CONFIG_CUSTOM_FIELDS', '', 'Enter a comma seperated list of fields to be automatically added to import/export file(ie: products_length, products_width). Please make sure field exists in PRODUCTS table.', " . last_insert_id() . ", '10', NULL, now(), NULL, NULL); 
  
解决了1054错误问题。 
  
或者在安装完成后 reinstall : 
  
转到 Tools -> Easy Populate , 在地址栏最后加上 ” ?langer=remove ” 参数(不包括引号)并回车运行, 根据顶部提示点击 click 重装. 
  
2. 错误原因是 `products_last_modified ` 字段重复定义, 将它们删除即可: 
  
打开 /admin/easypopulate.php , 删除位于行 1776 与 1832 的两行代码即可.

在使用Easy Populate 1.2.5.7.csv插件批量上传产品时可能会遇到如下问题:

1、因此插件兼容.csv格式文件,所以上传前需先将.xls格式文件另存为.CSV格式。起初没注意到这一点,尝试上传多个.xls结尾的数据库,均以失败告终。

2、使用excel表格编辑数据时,其如果产品描述部分非源码的话,上传之后其格式难以保存,有时需要用到换行符,可以考虑在excel中添加,操作方法如下:

需用VBA程序将产品描述进行换行操作,代码如下:
Sub 替换换行符为 ()
For Each c In ActiveSheet.UsedRange.Cells
c.Value = Replace(c.Value, Chr(10), “<br />”)
Next
End Sub

3、上传到数据库中的csv表格必须的列有以下这些,其他的可酌情加减:
v_products_model
v_products_image
v_products_name_1
v_products_description_1
v_products_price
v_products_weight
v_products_quantity
v_categories_name_1
v_categories_name_2
v_status
可考虑添加时间项,这样产品列表可设置按时间排序

4、产品图片如有多幅,需修改要上传的产品细节图名字为 名字_01, 名字_02字样,上传图片后,系统可自动识别添加到对应产品,此名字应与该产品model id一致。

5、通过excel表来编辑数据时,查找替换偶尔会出错,如公式太长等,可考虑通过脚本实现:

替换时提示”公式太长“的解决办法:
Sub 替换换行符为()
For Each c In ActiveSheet.UsedRange.Cells
c.Value = Replace(c.Value, “<br /><br /><br />”, “<br /><br />”)
Next
End Sub