使用其他客户组的Tierprices

时间:2012-09-06 10:52:53

标签: magento

我试图让我的定价扩展工作,但我仍然坚持等级。 如果访问者访问我的网站,我会在cookie中添加一个参数。

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

现在访问者使用sidx参数进入我的网站。现在Observer:catalog_product_get_final_price使用此Productgroup 5产品的第一个等级设置finalprice。

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

我已经搜索了很多内容以找到解决方案,但我不明白这一点。

最诚挚的问候 博提

1 个答案:

答案 0 :(得分:1)

如果您想获得任何产品的Tier价格:

$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..
    }
}