如何不允许使用网络服务为特定语言覆盖产品的描述字段?

时间:2019-05-29 09:43:40

标签: php xml web-services prestashop prestashop-1.6

我尝试使用Web服务在两个Prestashop网站之间同步某些产品。例如,同步后,目标网站中产品的描述应与源网站中产品的描述相同。

两个网站(源和目标)都是多国语言。 源网站使用英语和法语,目标网站使用英语(id = 4),法语(id = 5)和西班牙语(id = 6)。

问题是同步后,目标网站上现有的西班牙语描述被空白文本覆盖。其他字段也存在相同的问题:简短描述,元描述,元标题。有趣的是,link_rewrite字段的文本保留为西班牙语。

这是随Web服务一起发送的XML的一部分:

<?xml version="1.0" encoding="UTF-8"?>
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink">
<product>
  <id>8224</id>
  <description>
    <language id="4">English text</language>
    <language id="5">Franch text</language>
  </description>
</product>
</prestashop>

即使我不通过XML发送文本,也希望保留现有的西班牙语描述。

1 个答案:

答案 0 :(得分:0)

最好的解决方案是检索现有对象,并且仅更新您有兴趣更新的语言。

以下是仅用一种语言更新产品名称的示例

aws dms start-replication-task --replication-task-arn arn:aws:dms:us-east-1:myaccount123:task:PSNZBU57OTT54JOOABSMHV5WYI --start-replication-task-type reload-target

结果/输出

AmazonDMSCloudWatchLogsRole 
AmazonDMSRedshiftS3Role 
AmazonDMSVPCManagementRole 
AWSMigrationHubDMSAccess 

AmazonDynamoDBFullAccesswithDataPipeline 
AmazonEC2RoleforDataPipelineRole 
AWSDataPipeline_FullAccess 
AWSDataPipelineRole 

PSWebServiceLibrary.php文件可以在这里下载: https://github.com/PrestaShop/PrestaShop-webservice-lib/blob/master/PSWebServiceLibrary.php

您可以在此处找到更多使用PrestaShop网络服务的示例:

我希望这会有所帮助!