Cuộc gọi API để nhận danh sách các sản phẩm và thuộc tính của chúng trong một cuộc gọi


7

Tôi hiện đang sử dụng một vòng lặp foreach để lặp qua các sản phẩm và sau đó lấy thuộc tính tôi cần. Điều này rất chậm, vì nó thực hiện cuộc gọi cho từng sản phẩm tới API và truy xuất các giá trị thuộc tính.

Có cách nào để có được tất cả các sản phẩm cùng với thuộc tính của chúng trong một lần chụp không?

Đây là mã hiện tại của tôi:

var session = client.login("xxx", "xxx");
catalogProductEntity[] product = new[] { new catalogProductEntity() };
client.catalogProductList(out product, session, null, null);
Console.WriteLine("Found {0} items", product.Length);

catalogProductRequestAttributes attributes = new catalogProductRequestAttributes();
attributes.additional_attributes = new string[] { "mynewattribute" };

foreach (var catalogProductEntity in product)
{
    catalogProductReturnEntity catalogProductReturnEntity = client.catalogProductInfo(session, catalogProductEntity.product_id, null, attributes, null);
    string attrValue = catalogProductReturnEntity.additional_attributes[0].value;
    Console.WriteLine("attrValue => " + attrValue);
    Console.WriteLine(catalogProductEntity.product_id);
}

Câu trả lời:


1

Magento không có một api nào trả về danh sách các sản phẩm và tất cả các thuộc tính của nó (system + custom). bạn cần gọi hai API riêng biệt:

  1. Để nhận danh sách các sản phẩm và thuộc tính hệ thống của nó

    - catalog_product.list (SOAP V1)
    - catalogProductList (SOAP V2)
  2. Để có được các thuộc tính do người dùng xác định từ các sản phẩm

    - product.listOfAdditionalAttributes (SOAP V1)
    - catalogProductListOfAdditionalAttributes (SOAP V2)

    Vui lòng tham khảo các liên kết dưới đây để biết thêm chi tiết. http: //www.magentoc Commerce.com/api/soap/catalog


1
Tôi đã làm điều này.
Sonu Kapoor
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.