1

我正在尝试让我的定价扩展工作,但我坚持使用 tierprices。如果访问者访问我的网站,我会在 cookie 中添加一个参数。

示例:http ://www.foo.com/category/product.html?sidx=5

现在访问者使用 sidx 参数进入我的站点。现在观察者:catalog_product_get_final_price 将最终价格设置为客户组 5 的该产品的第一层价格。

访客的客户组仍未登录。现在我需要 Customergroup ID 5 的其他 tierprices 而无需注册。

我用谷歌搜索了很多以找到解决方案,但我不明白这一点。

最好的问候博蒂

4

1 回答 1

1

如果您想获取任何产品的层级价格:

$product = Mage::getModel('catalog/product')->load(PRODUCT_ID_HERE);
$tierPrices = $product->getData('tier_price');

if (!is_array($tierPrices)) {
    $tierPrices = array();
}

$result = array();

foreach ($tierPrices as $tierPrice) {
   $row = array();
   $row['customer_group_id'] = (empty($tierPrice['all_groups']) ? $tierPrice['cust_group'] : 'all' );
   $row['website']           = ($tierPrice['website_id'] ? Mage::app()->getWebsite($tierPrice['website_id'])->getCode() : 'all');
   $row['qty']               = $tierPrice['price_qty'];
   $row['price']             = $tierPrice['price'];

   $result[] = $row;
}

// $result now has an array of all tier prices...
// looking for cust_group = 5 would be trivial:

foreach ($tierPrices as $tierPrice) {
    if($tierPrice['cust_group'] == 5) {
        return $tierPrice; // this is what you want..
    }
}
于 2012-09-13T10:30:36.787 回答