# Applying discounts to a range of products only

Thread began 9/05/2009 4:17 am by Suggs | Last modified 9/11/2009 7:01 am by CraigR | 1523 views | 7 replies |

## 9/05/2009 4:17 am  |  #1 Suggs

### Applying discounts to a range of products only

Hi Folks,

Can you help me set up the discount for a selection of products only. For example, I want to be able to offer discount on a particular category of products, for example out of a whole DIY range, i want to offer the category drills a 10% discount.

Your help will be greatly appreciated.

Regards

Paul

## 9/08/2009 1:00 pm  |  #2 Jason ByrnesWebAssist

You would add a new column to the cart object to hold the category. For all Drills, set the value of this column to "drill". if you are going to have different discount amounts for each category, you could also add a new column to hold that value. for each item in the drills category, you would set the discountAmount column to "0.01"

Then create a calculation to calculate the discounted price for drils and the regular price for all others:
truePrice:
(abs([catagory] == 'drills') * ([Price] - ([Price]*[discountAmount]))) + (abs([catagory] != 'drills') * [Price])

and modify the Total Price calculation:
TotalPrice:
((abs([catagory] == 'drills') * ([Price] - ([Price]*[discountAmount]))) + (abs([catagory] != 'drills') * [Price])) * [Quantity]

ecart_rules.pdf

## 9/09/2009 11:43 am  |  #3 Suggs

Hi Jason

Thanks for this.
Ive created the column called Drills in the eCart object and also created a column called discountAmount.
ive then gone on to creating the calculations as you have stated, replacing the [catagory] with [Drills] the value is to come from a database field called SubCatID which is = 51 for drills.
From this point can you advise. Do i then go into the discounts tab in eCart and create a discount rule? and if so, can you let me know what the process is for this as im not sure how to go about it from here.

Regards

Paul

## 9/09/2009 2:01 pm  |  #4 Jason ByrnesWebAssist

No, you just need to create the calculations as I outlined above.

ion your cart display, change the price display with the truePrice calculation.

## 9/10/2009 5:01 am  |  #5 Suggs

Hi Jason,

When I apply the calculation you describe above in eCart calculations box, all it is doing is creating this error:
Parse error: syntax error, unexpected '[' in /home/barkerde/public_html/WA_eCart/stonehouse_PHP.php on line 10

This is without adding any changes to the cart display at this stage.

Line 10 looks like this: \$itmObj->TotalPrice = ((abs(\$itmObj->Rugs == '51') * (\$itmObj->Price - (\$itmObj->Price*[0.01]))) + (abs(\$itmObj->Rugs != '51') * \$itmObj->Price)) * \$itmObj->Quantity;//c

Since we started this thread, we have changed the discount to Rugs instead of drills and the column name in eCart has been setup as Rugs. Also, The SubCatID is 51. How do I assign the column to SubcatID.
Do I do this through the add to cart button?
Thanks

Paul

## 9/10/2009 8:53 am  |  #6 CraigRBeta Tester

Hi Paul, try removing the square brackets around the 0.01.

(also 0.01 will only give a 1% discount, for 10% you want 0.1)

## 9/11/2009 6:31 am  |  #7 Suggs

Hi Craig
Thats worked.
I just need to know how to progress this further.
We now have the calculations in place and they arent crasing out anymore, theres a column called Rugs set in the eCart object, the SubCatID from the recordset has been set to 51. I just need to know how to get the new calculation working to show the discount in the cart based on the SubCatID.
Do I need to link this to the table field in the database and if so, how am i to do this?

Thanks

Paul

## 9/11/2009 7:01 am  |  #8 CraigRBeta Tester

Hi Paul.

Here are the expression which works in a test i have just done...

Where 'Category' is the column added to the eCart object and 'Venice' is the variable from the database.

On the calculations tab of the ecart object i added DiscountedPrice and changed TotalPrice. This is how they look my equivalent of your stonehouse_PHP.php page.

\$itmObj->DiscountedPrice = (abs(\$itmObj->Category == 'Venice') * (\$itmObj->Price - (\$itmObj->Price*0.1))) + (abs(\$itmObj->Category != 'Venice') * \$itmObj->Price);//c

\$itmObj->TotalPrice = ((abs(\$itmObj->Category == 'Venice') * (\$itmObj->Price - (\$itmObj->Price*0.1))) + (abs(\$itmObj->Category != 'Venice') * \$itmObj->Price)) * \$itmObj->Quantity;//c

I'm a bit confused about 'Rugs', is this the description of SubCatID = 51 ?

Basically, whatever value is passed into the column name you created in the eCart object is what you need in your calculation.

good luck

## Build websites with a little help from your friends

Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.

## Build websites from already-built web applications

These out-of-the-box solutions provide you proven, tested applications that can be up and running now.  Build a store, a gallery, or a web-based email solution.

## Everything else!

Close Window

Account or customer service questions?

Need technical support?

Content

Layout

Ease of use

We do not respond to comments submitted from this page directly, but we do read and analyze any feedback and will use it to help make your experience better in the future.

Close Window

## We were unable to retrieve the attached file

Close Window

### Attach and remove files

• Text Formatting
• Insert Element
• Block Formatting
• Cancel
Close Window

Close Window

#### This is how you use right click RTF editing

Enable right click RTF editing option allows you to add html markup into your tutorial such as images, bulleted lists, files and more...

-- click to close --