Portal Engine Questions on portal engine and web parts.
Version 7.x > Portal Engine > Custom Pricing Tiers for a Product View modes: 
User avatar
Member
Member
asteffes-mgma - 8/7/2013 12:06:06 PM
   
Custom Pricing Tiers for a Product
I'm interested in having multiple prices for a product. For example, I would like a user who is logged in and belonging to the "member" role to receive a certain price, whereas a "student" will receive a different price.

Each product has independent pricing tiers, so the "Discount Levels" feature is insufficient for this scenario.

Can you please help me in determining the best way to do this?

My approach thus far:

Update the system table COM_SKU to include our custom pricing tiers (SKUPriceMember, SKUPriceStudent). Next, I need to determine how to display the correct price on the product page, and also calculate the correct price in the Shopping Cart.

Is this all custom logic that I need to build? Are there any events or methods that I can borrow to help calculate the cost on either of these screens?

Thanks in advance for your help!

User avatar
Member
Member
kentico_sandroj - 8/7/2013 2:36:07 PM
   
RE:Custom Pricing Tiers for a Product
Hello,

I would recommend watching this video which discusses multiple discount levels per product.

There's a part (or Demo) Multiple pricing level per SKU, which shows how the discounts are obtained and how they can be calculated. You will most likely need to use a custom SKUInfoProvider and add your own logic into the override of
protected virtual List<IItemDiscount> GetSKUDiscountsInternal(SKUInfo sku, ShoppingCartInfo cart, bool forCart)

In the code samples provided with installation (typically in Program files), there's an example CustomSKUInfoProvider, with this method override:

protected override List<IItemDiscount> GetSKUDiscountsInternal(SKUInfo sku, ShoppingCartInfo cart, bool forCart)

So you can see the construction of calling base provider method first to get all discounts in a standard way and then check if there's a discount level among the items.

Please let us know if you have any questions.

Regards,
Sandro