Mit der API von Shopify können Sie mit cart/change.js die Eigenschaften einer Werbebuchung nicht ändern. Der Grund dafür ist, dass cart/change.js "Eigenschaften" verwendet, um die gewünschte Werbebuchung zu finden. Die API-Dokumentation lässt dies aus. Hier ein Beispiel:
Wenn ich ein POST den Warenkorb/add.js mit den folgenden URL kodierten Parametern machen:
quantity=9403&id=278440178&properties%5Bmy-property%5D=property%20BAR
Die Antwort umfasst,
"properties":{"my-property":"property BAR"}
Wenn ich fortfahre, einen POST zu wagen/change.js zu machen, um die Eigenschaft von BAR zu FOO zu ändern,
id=278440178&properties%5Bmy-property%5D=property%20FOO
die Antwort wird dann gehören,
"properties":{"my-property":"property BAR"}
Das heißt, ich bin nicht in der Lage der Position Eigentum auf diese Weise zu ändern. Sie können vermuten, dass dies daran liegt, dass die Cart/change.js-API fehlerhaft ist, dies ist jedoch nicht der Fall.
Hinweis, wenn ich versuche, eine Position zu entfernen, indem eine POST den Warenkorb/change.js machen und quantity=0
Angabe wie folgt aus:
quantity=0&id=278440178&properties%5Bmy-property%5D=property%20FOO
Mit der Eigenschaft property FOO
ein Wesen, das nicht hingehört zu irgendeinem Gegenstand (mein Einkaufswagen hat gerade einen Gegenstand mit property BAR
gerade), der Artikel wird nicht vom Wagen entfernt. Wenn auf der anderen Seite kann ich dies tun:
POST: quantity=0&id=278440178&properties%5Bmy-property%5D=property%20BAR
Das Element wird als normal entfernt.
Fazit: in Warenkorb/change.js verwendet shopify die Eigenschaften der Werbebuchungen auf die gleiche Weise wie 'ID', dh die Werbebuchung, deren Menge Sie ändern möchten. Genauso wie Sie mit "cart/change.js" die ID einer Werbebuchung nicht ändern können, können Sie damit die Eigenschaften einer Werbebuchung nicht ändern.
Ich habe dieses Problem. Als Arbeitsumgehung entferne ich jedes Mal den Zeileneintrag und füge ihn erneut hinzu. – Ziggy