2013-04-09 66 views
2

我一直在使用默认模板,并试图改变它的一些功能。在我的产品页面(目录/视图/主题/ mytheme/template/product/product.tpl)中,我想根据我的客户群显示应用折扣后的价格。OpenCart - 折扣后显示价格

我知道我没有使用最好的解决方案来查询我的用户群,因为我已经硬编码的信息,但这里是怎么样子:

<?php 
    $customer_group_id = $this->customer->getCustomerGroupId(); 

    if (is_null($customer_group_id)) 
    { 
     // not logged in 
     // show full price 
     echo $price; 
    } 
    else 
    { 
     if ($customer_group_id == "1") 
     { 
      // customer group used with full price 
      echo $price; 
     } 
     else 
     { 
      // customer group with discount 
      # ????????????????????????????? 
     } 
    } 
?> 

我想知道如何显示与价格允许用户打折。在我的产品中,“打折”选项卡下,我进入了一个折扣,我需要的客户群具有以下细节:

Quantity : 0 
Priority : 0 
Price : 5.00 
Date Start : 2000-01-01 
Date End : 2050-12-31 

在“数据”选项卡上,我的价格定为“7.00”。

我试过几位代码,但没有显示折扣代码。但是,如果我的用户未登录或以其他用户组中的用户身份登录,则确实显示全价。

有什么建议吗?

回答

3

可能是你用折扣特殊价格混在一起,如果你购买更多的物品...折扣是指为销售,让说,基本价格为$ 35,但你想给客户如果他们一次购买超过10件,比如说30美元,如果他们一次购买超过25件商品,则为20美元;如果一次购买超过100件,则价格为10美元。

,那么你会设置优惠(S)是这样的:那么

Customer Group | Quantity | Priority | Price | Start | End 
pick one  | 10  | 1  | 35 |  | 
pick one  | 25  | 2  | 20 |  | 
pick one  | 100  | 3  | 10 |  | 

这些折扣仅负责登录是从所需的客户群的客户适用。

您要设置的值是特别 - 又一次,在特殊的价格将立即提供给客户从登录所需的客户群 - 所以需要对客户群没有检查...有关更多详细信息,请检查方法getProduct()(或getProducts())中catalog/model/catalog/product.php模型类中的SQL查询 - 折扣和特价已加入并选择有关已登录客户的客户组。

刚刚离开它,因为它是:

<div class="price"><?php echo $text_price; ?> 
    <?php if (!$special) { ?> 
    <?php echo $price; ?> 
    <?php } else { ?> 
    <span class="price-old"><?php echo $price; ?></span> <span class="price-new"><?php echo $special; ?></span> 
    <?php } ?> 
... 

如果您需要更改顺序(特价第一),更改相应的行

<span class="price-new"><?php echo $special; ?></span> <span class="price-old"><?php echo $price; ?></span> 
+1

您好,感谢您的答复。 我使用了两个字符串的组合,它带有期望的结果 - 我基本上echo'd $特别为我的第二个其他,完美运作。 感谢区分b/w两个定价选项。 – davewoodhall 2013-04-09 17:22:47