Home >  > chinagroup英文产品站开发备忘

chinagroup英文产品站开发备忘

一、woocommence主题

(一)后台可以直接搜索到的meta store这个主题还不错,https://mysticalthemes.com/,不过安装后首页不是演示的这样,还没找到如何设置。

(二)适合电子产品的主题

Free Top Store WordPress Theme

视频:https://www.youtube.com/watch?v=lyYYCNaTjrk

演示站:https://themehunk.com/wp-themes/topstore/

如何添加widgets
直接在主题的widgets添加即可,foot widgets 1对应页脚最左边的区域。

(三)后来找的这个

后台搜索shopping cart

视频:https://www.youtube.com/watch?v=PphaRhtoE0k (4.53开始)

演示站:https://demo.themefreesia.com/shoppingcart/

文档:https://themefreesia.com/theme-instruction/shoppingcart/

二、导入demo数据

1.从网站下载import的工具。
2.后台安装插件。
3.导入,源活插件。
4.安装相应的插件,记得导入demo 数据前,一定要先安装插件。


不过到了这一步安装插件的时候报Warning,不过应该是不影响使用:

Warning: sprintf(): Too few arguments in D:\phpstudy_pro\WWW\wp01\wp-admin\includes\class-bulk-upgrader-skin.php on line 152

5.执行“Apprarence--import demo data”,选择“Default ShoppingCart”,导入。

然后就和演示站一模一样了:

花了一个上午的时间,只搞定了模板。

三、完善模板
(一)首页标题显示太长
修改grid-column-widget.php文件,将显示标题的地方改成只显示多少个字,

<?php echo wp_trim_words( get_the_title(),6); ?>

不过上面的数据是对应的6个单词,有的产品还是不好对齐。

后来用echo mb_strimwidth搞定。

四、其他模板

做服装网可以参考的:https://www.youtube.com/watch?v=1EYVO6NskAc

五、部署到服务器
在本地测试正常的python发布代码,一放到服务器上,出现各种问题。
(一)首先是文件路径的问题
(二)程序问题
比如使用woocommerce 发布产品时出现如下报错:

raise JSONDecodeError(“Expecting value”, s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

网上找了一圈也没有找到解决办法,在这里找到可以求助的地方,可是:

https://woocommerce.com/community-slack/ 国内打不开,开飞机的话,今天机场也不行。

https://wordpress.org/support/plugin/woocommerce 找回了以前用网易邮箱注册的账号(pa14),可是找不到发贴的地方。

https://github.com/woocommerce/woocommerce/issues/29811

六、解决问题
(一)
被上面的问题折磨了一天,也没有解决。第二天一早在网上找到这篇文章(http://www.voidcn.com/article/p-owixugas-bth.html),终于解决了。
就是在这里(https://github.com/woocommerce/woocommerce/issues/20805)看到说访问https://gmoiltraders.com/wp-json/会返回json数据,我在本地测试可以返回,但是在目标网站上测试出现404的错误。
于是改成访问地址为http://www.xxx.com/wp-json,就可以看到数据了。

原来是这个原因!

复盘:
之前自己一直没有找到解决办法,在网上搜索也没有看到别人提供的解决办法,以为这是一个非常新的问题,现在看来,其实不是,而是自己大意了。因为自己以前一直以为本地测试环境和目标网站一模一样,其实并不一样,比如permalink设定这里就不一样。而且之前有两个地方可以指向解决问题的方向,我一直忽略了:

一是woocommerce的介绍里面介绍了如果要使用wooocommerce API,就一定要修改permalink。
二是就是上面那个网址了,我昨天也搜到过,不过当时只测试了目标网站http://www.xxx.com/wp-json,无法访问我就放弃了,其实应该测试一下本地的环境,如果本地可以返回json数据,而目标网站不能,那我也知道问题所在了。昨天一直以为是python源代码的问题,要修改python源代码才能解决。

(二)
部署到服务器上之后,还是和本地测试一样,报同样的错误:

requests.exceptions.ReadTimeout: HTTPConnectionPool(host='www.china-source-group.net', port=80): Read timed out. (read timeout=5)

后来参考了:https://github.com/woocommerce/wc-api-php,通过在woocommerce中添加参数得到解决。

wcapi = API(
    url="http://localhost/wp02/",
    consumer_key="ck_de",
    consumer_secret="cs_a8",
    version="wc/v3",
    timeout = 30,
)

(三)如何给产品添加tags
直接在woocommerce发布产品的代码中添加:

"tags": [
	{
		"name": "test_tome"
	},
	{
		"name": "test`"
	}
],

(四)其他
1.代码执行过程中,又发现有的参数取不到数,原来页面是不一样的,比如:https://www.xxx.com/Product/2804414.html
2.又发现图片采集不到,比如https://www.xxx.com/Product/2804414.html,原来是我的代码写得有问题,原来取图片的地方就是错的。
3.还有源网站的图片地址就是错误的,比如:https://www.xxx.com/Product/2044714.html,它里面的图片是:file:///C:\\Users\\david.yu\\AppData\\Local\\Temp\\S$Q3N_SJPGZ}H5YK9A4)LK6.png
4.又有一个问题
如果缩略图用源网站的:http://image.xxx.com//UploadStorage/gallery/img1/363703/201910/982eb8eb8a1248cf8e0343431dcc13c6.jpg_80*80,我发布产品的时候就不成功,程序显示发布成功,可是网站上并没有添加产品。
只能去掉这个_80*80,不过去掉之后,缩略图显示那里会变得很大。

5.通过缩小图片解决了缩略图的问题,可是发现存储图片的时候又报错:

raise OSError("cannot write mode %s as JPEG" % im.mode)
OSError: cannot write mode P as JPEG

参考:https://blog.csdn.net/z704630835/article/details/84968767

7.还有这种商品详情中没有图片的
https://www.xx.com/Product/2921956.html

8.还有,如果有的商品没有图片,缩略图会用到上一张商品的图片。

9.首页三张图片的链接,是在slide options==product promotion里面进行设置的。

10.所有分类:https://www.2xx.com/sitemap.html

11.2853697.html的图片到5张的时候,又不动了。

12.服务器上运行程序死掉
最后所有的代码都OK了,结果放到服务器上跑,啥出错提示也没有,程序就卡在那儿不动了。
重新试一次,采集了4个商品又不动了。
真是让人崩溃!

(1)同样的网址,在本地采集正常,证明不是目标网站的问题。
(2)代码是一样的,证明也不是代码的问题。

后来将程序的每一个功能都print出来,发现是下载图片那里卡住了。
然后将这个函数单独拿出来,分别在本地、服务器进行测试。
发现在服务器测试报错,原来是代码中多了一个'的问题。
然后修复这个bug,原来的代码也就正常了!!

13.
首页产品设置那里,找了半天没有找到,后来找到模板的说明文件,才找到,原来是在这里。

暧昧帖

本文暂无标签