如何在等级价格中添加新字段?

时间:2015-12-28 06:11:04

标签: magento

app/design/adminhtml/default/default/catalog/product/edit/price/tier.phtml

来自一个新字段Peice_Price的数据已成功显示在层页面中。 http://i.stack.imgur.com/Wn6D4.png 如何将数据插入表catalog_product_entity_tier_price?我想在点击产品页面保存按钮时保存这些数据。

1 个答案:

答案 0 :(得分:0)

要添加套餐价格,请勿触摸tier.phtml文件。

为产品添加层级价格:

1 * / 使用以下4个必需键设置数组:websitecustomer_group_idqtyprice

$tierPrice = array(
    'website' => 'all', // or website ID
    'customer_group_id' => 2, // or 'all'
    'qty'  => 20, // required & not null, 1 = for not manage qty
    'price'  => 19.99,
);

2 * / 使用update中的Mage_Catalog_Model_Product_Attribute_Tierprice_Api方法更新产品价格。

该方法需要一个具有1,n层价格的数组:

$tierPrices[] = $tierPrice;
// in example the product ID is 123

try
{
    $api = new Mage_Catalog_Model_Product_Attribute_Tierprice_Api();
    $api->update( 123 , $tierPrices );
}
catch (Exception $ex)
{
    echo "Error when tier price creation: {$e->getMessage()} \n";
}

显示您的管理面板,套餐价格与产品一起存储。

更改已存在产品的等级价格。

1 * / 获取产品价格数组:

$api = new Mage_Catalog_Model_Product_Attribute_Tierprice_Api();
$tiersPrices = $api->info( 123 );  // 123 is the product ID

如果你var_dump($tiersPrices);得到这样的话:

array(1) {
  [0]=>
  array(4) {
    ["customer_group_id"]=>
    int(1) "2"
    ["website"]=>
    string(3) "all"
    ["qty"]=>
    string(7) "20.0000"
    ["price"]=>
    string(7) "19.9900"
  }
}

2.1 * / 要更改现有的套餐价格:

$tiersPrices[0]['customer_group_id'] = 'all';

2.2 * / 要添加另一个,请设置一个数组:

$tiersPrices[] = array(
    'website' => 'all',
    'customer_group_id' => 'all',
    'qty'  => 50,
    'price'  => 14.99,
);

3 * / 并更新:

$api->update( 123 , $tiersPrices );

等级价格更新!

核心代码是可读的,并且构建得足以找到并理解该过程。

这是french article撰写2010年1月22日dbrugne的快速翻译。