1

特定の製品を更新したい場合、どうすれば一意でないオプションを判別して、「オプションが一意ではない」エラーが表示されないようにすることができますか?

これはcreateproductのxmlです:

my $xml = qq~<?xml version="1.0" encoding="UTF-8"?>
<product>
<title>$title</title>
<body-html>$description</body-html>
<vendor>$vendor</vendor>
<product-type>$product_type</product-type>
<published type="boolean">$publish_status</published>~;
$xml.=qq{<variants type="array">
<variant>
      <title>$title</title>
  <option1>$title</option1>
  <option2 nil="true"></option2>
  <option3 nil="true"></option3>};
$xml.=qq{<price>$price</price>
  <sku>$sku</sku>
  <position type="integer">1</position>
 </variant>
</variants>};
$xml.='</product>';

これは、modify製品のxmlです。

my $xml = qq~<?xml version="1.0" encoding="UTF-8"?>
<product>~;

$xml.=qq~<title>$title</title>~;
$xml.=qq~<id type="integer">$id_product</id>~;
$xml.=qq~<body-html>$description</body-html>
<vendor>$vendor</vendor>
<product-type>$product_type</product-type>
<published type="boolean">$publish_status</published>
<variants type="array">
  <variant>~;
$xml.= qq~<title>$title</title>~;
$xml.= qq~<option1>$title</option1>~;
$xml.= qq~<option2 nil="true"/>~;
$xml.= qq~<option3 nil="true"/>~;
$xml.=qq~<price>$price</price>
  <sku>$sku</sku>
  <position type="integer">1</position>
</variant>
</variants>~;
$xml.='</product>';

特定の製品を変更しようとすると、「オプションが一意ではありません」というエラーが発生します。option1タグの内容は、前のoption1タグの内容と同じです。バグですか?またはoption1の値は前の値とは異なる必要がありますか?「オプションは一意ではありません」というエラーが表示されないようにする必要がありますか?

前もって感謝します

4

1 に答える 1

1

はい、製品を更新するときにAPIにバグがあり、すでに存在するオプションを渡しています。エラーメッセージは実際にはかなり誤解を招くものであり、現在作業中です。

于 2012-10-01T15:09:34.953 に答える