Attributs personnalisés de mise à jour Magento2 REST

10

Comment puis-je mettre à jour les attributs personnalisés tels que la description? Le code suivant met correctement à jour le prix et le nom du produit, mais pas les attributs personnalisés (inchangés). Le nouveau produit est créé correctement avec des attributs personnalisés, le problème est lors de la mise à jour.

magento2 REST Update attributs personnalisés

magento2 REST Update attributs personnalisés

user47734
la source
Salut les gars, dans votre cas, je pense que vous devez refaire: mise à jour php bin / magento
MrTo-Kane
Salut les gars, je pense que vous nous donnez le code ou la configuration d'attribut pour custom_attributes. Pour nous vérifier à nouveau.
MrTo-Kane
Avez-vous coché une réponse? besoin de vos commentaires.
chirag

Réponses:

9

Pour créer un produit, nous pouvons utiliser:

  • POST : / V1 / produits

Pour la mise à jour:

  • PUT : / V1 / produits / {sku}

Dans votre cas, votre code doit être:

$productData = [
        'attribute_set_id'  => 4,
        "type_id": "simple",
        "sku": "test-SKU",
        "name": "Test",
        "price": 100,
        "status": 1,
        'custom_attributes' => [
                ['attribute_code' => 'description', 'value' => 'Test Description' ],
                ['attribute_code' => 'short_description', 'value' => 'Test Short Description' ],
            ]
    ];

Le corps JSON:

 {
  "product": {
    "sku": "test-SKU",
    "name": "Test",
    "attribute_set_id": 4,
    "price": 100,
    "status": 1,
    "custom_attributes": [
      {
        "attribute_code": "description",
        "value": "Test Description"
      },
      {
        "attribute_code": "short_description",
        "value": "Test Short Description"
      }
    ]
  }
}

Il y a une réponse ici: https://magento.stackexchange.com/a/135607/33057

Khoa TruongDinh
la source
Salut, @Khoa, vous devez formater le tableau en chaîne json, car il a utilisé REST et par l'outil REST.
MrTo-Kane
@ MagentoOdoo.com Merci! J'ai mis à jour ma réponse.
Khoa TruongDinh
@Khoa TruongDinh Comment ajouter une étiquette d'attributs sélectionnée dans l'API de repos de produit. Comme ['attribute_code' => 'description', 'value' => 'Test Description', 'label' => 'Description'],
Kirti Nariya
@KhoaTruongDinh Comment passer une étiquette dans / V1 / products / {sku} 'attribute_code' => 'color', 'value' => '54', 'label' => 'Blue' Faites-moi savoir si vous avez une idée. Votre aide serait appréciée.
Kirti Nariya
2

Essayez de passer vos attributs personnalisés dans un tableau comme:

'custom_attributes' => array(
     '0' => array(
          'attribute_code' => 'my_custom_attribute_code',
          'value' => 'my_custom_attribute_value'
      )
      ...
)
chirag
la source
Comment passer l'étiquette dans / V1 / products / {sku} 'attribute_code' => 'color', 'value' => '54', 'label' => 'Blue' Faites-moi savoir si vous avez une idée. Votre aide serait appréciée.
Kirti Nariya