Nếu bạn đang sử dụng đối tượng magento (không phải là api), đây là những hành vi tôi đã tìm thấy. Hy vọng rằng ứng dụng có ý nghĩa, bất kể bạn đang thu thập dữ liệu như thế nào.
// get my product
$product = Mage::getModel('catalog/product')->load(x);
// the group data is expecting an array of arrays that look like..
// array ('website_id'=>y, 'cust_group'=>z, 'price'=>n)
$groupPricingData = array (
// for website 2, customer group 2
array ('website_id'=>2, 'cust_group'=>2, 'price'=>10),
// for all websites, not logged in
array ('website_id'=>0, 'cust_group'=>0, 'price'=>15)
);
$product->setData('group_price',$groupPricingData);
$product->save();
Trong ví dụ này, nó sẽ thay thế tất cả giá nhóm trước đó cho sản phẩm, như vậy là khôn ngoan.
$product->setData('group_price',array());
$product->save();
sẽ xóa giá nhóm.
Một hành vi khác mà tôi nhận thấy có liên quan đến việc đặt id cửa hàng trên sản phẩm bạn đang cập nhật sẽ khiến giá nhóm thêm vào. Bằng cách này nếu bạn đang tải lên một nhóm giá cả nhóm cho một cửa hàng cụ thể, bạn không phải lo lắng về việc mất đặt giá nhóm đối với một cửa hàng khác.
// add a pricing to store 4
$product = Mage::getModel('catalog/product')->setStoreId(4)->load(1234);
$product->setData('group_price',array (
array (
"website_id" => 3,
"cust_group" => 4,
"price" => 99
)));
$product->save();
// add a pricing to store 1
$product = Mage::getModel('catalog/product')->setStoreId(1)->load(1234);
$product->setData('group_price',array (
array (
"website_id" => 1,
"cust_group" => 2,
"price" => 105
)));
$product->save();
// remove group pricing from store 2
$product = Mage::getModel('catalog/product')->setStoreId(2)->load(1234);
$product->setData('group_price',array());
$product->save();
Điều này thuận tiện nếu bạn đang xử lý các đợt định giá nhóm trên một cửa hàng, nhưng không làm ảnh hưởng đến giá nhóm của các cửa hàng khác. Tôi không biết đây có phải là cơ chế đơn giản nhất, nhưng nó đã hoạt động cho đến nay đối với tôi.
Câu trả lời này không thực sự hữu ích. Nơi nào để bạn vượt qua mảng đó, bởi vì nếu tôi sử dụng một số phương pháp API sản phẩm, nó bỏ qua mảng giá nhóm, trong khi phá hủy mảng giá tầng, được thiết lập tương tự. – feeela