close ad
WARNING: Do Not Install the DREAMWEAVER CC 2017 Update »
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues

rating

Anyone done dynamic discounts?

Thread began 2/14/2010 5:22 am by web_assist_mail157665 | Last modified 2/16/2010 2:04 pm by web_assist_mail157665 | 1299 views | 2 replies |

web_assist_mail157665

Anyone done dynamic discounts?

Client requires updateable
discount percentage
discount cutoff date
on EACH product in a group (its an event sale)
I can LEFT JOIN the event and take a percentage and date from the event

this discount needs to be set up by the client
currently it seems everytime you want to have a discount you need to call the webdeveloper to change the cart?


I can easily get the products discount percentage and cutoffdate from a recordset (left join products and event with FK from product to event), when I get the rest of the product details for the cart

And I can create columns in the cart for Discount_Date (date) and Discount_Percentage (number) - then bind to each of the recordset values
And I can create a discount calculation

test - the values are going into the cart - OK

DiscountDate = 2010-12-31
DiscountPercentage = .1

BUT...

If I then do a discount

If Todays date is before (in box) DiscountDate (cart Column variable)
Cart Subtotal * (in box) DiscountPercentage (cart Column variable)

I DON'T get any discount

//eCart Rule
function WAEC_eCart1_Book_BeforeDate_Discount() {
$totalDiscount = 0;
if (true && ((time() <= strtotime("DiscountDate")))) {
$totalDiscount += ($this->TotalColumn("TotalPrice") * DiscountPercentage);//Result
}
return WA_eCart_FormatNumber($totalDiscount, $this->ForceDecimalsC, $this->DecimalPlacesC);
}
//eCart Rule





manually replacing these with a date and a number causes the thing to work

any ideas?



AMEND:
As far as I can see (as a non programmer) Neither of the two variables are put into the formula
correctly

strtotime("DiscountDate") is just seeing the text "DiscountDate"
($this->TotalColumn("TotalPrice") * DiscountPercentage) doesnt see anything in DiscountPercentage

Amend by hand seems to work

would be interested in better 'ecart' way if there was one! (other than entering a manual expression - true etc)

//eCart Rule
function WAEC_eCart1_Book_Before_Date_Discount() {
$totalDiscount = 0;
if (true && ( time() <= strtotime($this->DisplayInfo("DiscountDate")) )) {
$totalDiscount += ($this->TotalColumn("TotalPrice") * ($this->DisplayInfo("DiscountPercentage")));//Result
}
return WA_eCart_FormatNumber($totalDiscount, $this->ForceDecimalsC, $this->DecimalPlacesC);
}
//eCart Rule

Sign in to reply to this post

Eric Mittman

You could do this from within the discounts interface, you would just need to add in the code that you updated the date to be like:

php:
" . $this->DisplayInfo('DiscountDate') . "



If you use this in the interface it should appear in the charge rule the same as you have it now.

The problem with doing it this way is that you are not selecting the discount date for a given item but for the current item. If you had multiple products in the cart with different discount dates you would get some mixed results depending on what date appears first.

I think it might be better to store these values in session variables, then make use of the session variables inside of the discount rule. You can just put the code for the session value in for the date like this:

php:
" . $_SESSION['<your DiscountDate session var>'] . "



This way you can control what is in the session variable and how the discount is applied.

Sign in to reply to this post

web_assist_mail157665

thanks Eric

I'll try and get my head around this.

Re mixed dates
As this is an event - products are only on offer for that event (the same date)
but appreciate you mentioning it
Individual discount dates would definitely be the way to go if it were arranged any other way

Sign in to reply to this post

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.

Want your website pre-built and hosted?

Close Windowclose

Rate your experience or provide feedback on this page

Account or customer service questions?
Please user our contact form.

Need technical support?
Please visit support to ask a question

Content

rating

Layout

rating

Ease of use

rating

security code refresh image

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 Windowclose

We were unable to retrieve the attached file

Close Windowclose

Attach and remove files

add attachmentAdd attachment
Close Windowclose

Enter the URL you would like to link to in your post

Close Windowclose

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 --

Uploading file...