调用Prestashop API修改分类时Category->link_rewrite属性无效怎么解决
Prestashop API 修改分类报错link_rewrite无效的解决方案
这个报错是Prestashop对分类的link_rewrite字段校验不通过导致的,哪怕直接复制GET返回的内容提交PUT也会触发,通常是以下几个原因导致的,按优先级排查即可:
- 移除多语言节点的xlink:href属性:GET请求返回的多语言节点(包括link_rewrite下的language节点)会自带xlink:href属性,PUT提交时不需要携带该属性,仅保留
id属性即可,这是最高发的触发原因。你提交的XML中所有language节点都带了多余的xlink:href,直接删除即可。
修改后的link_rewrite节点示例:
<link_rewrite> <language id="1"> <![CDATA[clothes]]> </language> <language id="2"> <![CDATA[clothes]]> </language> </link_rewrite>
- 匹配所有活跃语言的配置:检查你Prestashop后台启用的所有活跃语言数量,必须和请求体中link_rewrite下的language节点数量完全对应,不能少提交任意一个活跃语言的link_rewrite值。比如后台新增了id为3的语言,哪怕GET返回的内容没有该语言的节点,PUT时也需要手动补全对应值,否则校验失败。
- 检查link_rewrite内容格式:该字段仅允许小写英文字母、数字、减号
-、下划线_,不能包含空格、大写字母、特殊符号、中文(如需支持中文别名需要额外修改Prestashop内核的校验规则)。 - 删除只读字段:请求体中的
date_add是系统只读字段,PUT提交时不需要携带,直接删除该节点即可,避免触发额外校验。
- 其他多语言字段(name、description、meta_title等)的xlink:href属性也建议一并移除,避免触发同类字段的校验报错。
内容的提问来源于stack exchange,提问作者christian mini
相关产品推荐
相关产品推荐

