php – prestashop通过url webservice api创建和更新资源

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – prestashop通过url webservice api创建和更新资源脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我(不幸的是)必须将客户端应用程序编写为PRestashop驱动的网站的前端.我需要通过url webservice对资执行所有CRUD操作,我仍然坚持创建和更新.我很惊讶地发现网上有几个例子,因为prestashop应该一个广泛使用的CMS.但是,到现在为止我来到:

GET http://www.myshop.COM/api/myresource/id

获取具有给定id或的资源的XMl

GET http://www.myshop.com/api/myresource/?display=full&filter[field]=[value]

过滤结果.我写这篇文章原因只是因为我不得不与谷歌一起努力获得这些信息,这个过滤器的东西可能会在将来帮助某人.

DELETE http://www.myshop.com/api/myresource/id

删除资源(我想过滤器也在这里工作,但到目前为止还没有尝试)

现在,有人知道如何创建和更新资源吗?我试过了

POST/PUT http://www.myshop.com/api/myresource/

在没有运气的情况下给http字段中的字段值 – http请求,我收到内部服务器错误.不,我没有直接访问服务器所以我不知道抛出了什么错误,我希望它可以解决没有麻烦的网站维护者,我想保存我的弹药.

我在网上找到的唯一有用的资源是this one,我也查看了SO的其他问题,这些问题的建议链接没有帮助.

解决方法

如果您编辑config / config.inc.PHP添加以下内容,您将能够看到响应中的错误(错误)(1by1,当您尝试找出创建失败的原因时,这非常令人沮丧).完成后,请记得注释掉该行.

/*DEBUGginG ON*/
ini_set('display_errors','on');

您还需要确保在POST / PUT操作中使用xML =< prestashop> ……< / prestashop>前置数据. (我正在为我的客户端使用C#,因此PHP可能不需要这样做)

如果您使用?schema = synopsis来获取空白的那些,请确保您浏览XML中的任何元素作为占位符并将其删除.例如,您的(产品)将被破坏,但如果你没有.

我还在我的代码添加了在XML的初始传递中它完全遍历树,查找具有属性not_filterable的任何内容删除那些节点(再次没有太多文档可用来知道这是否正确).

编辑:基于语言的元素中的另外一个注意事项,请确保您使用CDATA作为元素.

通过执行此操作,我刚刚成功生成了我的产品,所以我希望它有所帮助.我还没有执行现有的更新.

更新:我已经更新到Prestashop的1.5.4.1并开始在我的情况下更新资源产品

更新资源

URI:http:// sITe / api / products / 1

使用方法=“PUT”

content tyPE =“text / xml”

确保删除任何具有“not_filterable”属性集的元素. (我不明白为什么,但如果你不这样做就行不通)

删除资源

URI:http:// site / api / products / 1

使用方法=“删除

content type =“application / x-www-form-urlencoded

我发现你不需要任何身体,所以你可以将ContentLength设置为0.并且probaly不需要设置内容类型,但它可以工作.

脚本宝典总结

以上是脚本宝典为你收集整理的php – prestashop通过url webservice api创建和更新资源全部内容,希望文章能够帮你解决php – prestashop通过url webservice api创建和更新资源所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。