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

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues

rating

Discount Buy 1 get 1 Free

Thread began 1/29/2010 1:33 pm by BeDigital94844 | Last modified 2/10/2010 6:06 pm by Eric Mittman | 1288 views | 7 replies |

BeDigital94844Beta Tester

Discount Buy 1 get 1 Free

Hi - My client just asked for a special for Monday!

I am trying to implement; Buy 1 SKU Get 1 different SKU Free in my database driven eCart.

e.g. Buy itemID (SKU) 2072 @ $15.00 get itemID (SKU) 2272 free $0.00

There are 3 product items that I would need to apply this to

I would like to tie this to a merchandising rule for a specific time frame.

I looked at Discounts > Quantity of a specific item in the cart =
I would create a SKU with a price of $0.00 to be added to the cart
maybe I need an if statement

I would rather not use a coupon code if possible, but if it makes it easier I would

I looked at all the post one was close but I don't see how it would work in this application

Thanks in advance!

--------- maybe -------------
I think I have to add the discount - with Presence of an item in the cart tied to the ItemID with an if statement on the cart page such as:
if item 4 add item 15
if item 7 add item 16
if item 9 add item

Please help- Ray Eric anyone... thanks

Sign in to reply to this post

Eric Mittman

This type of a discount can have many different solutions. To best determine which way to go please describe exactly how the discount should work from the perspective of the user who will be purchasing. I think this would be best. With a detailed description of how you would like the discount to work we will better be able to help you get it worked out.

Sign in to reply to this post

BeDigital94844Beta Tester

Promo: Buy 1 Get 1 Free

Thank you Eric for the fast response, I greatly appreciate it.

The client would like to run a 3 week special promotion.

Such as:
Bluesky music example

Buy one; Tote, Mug, or Ball Cap and receive a specially marked Free CD Sampler1, Free CD Sampler2, or Free CD Sampler3 with your order.

I would create the Free CD Samplers in the items table of the database and assign ItemID's of 12, 13, 14 respectively

The customer experience would be this:

1. Customer clicks on Travel Tote,
2. clicks "add to cart"
3. on "cart page" Tote is displayed with Name, Price, Qt,y Remove, and Total
with cart summary: subtotal, discounts, shipping and total
4. customer clicks "checkout"
5. on "confirm page" displays - 2 line items -
product (Tote), price(9.99), Qty(1) and total(9.99)
product (Free CD Sampler 1), price(0.00), Qty(1) and total(0.00)

I am skeptical of having the free product displayed on the "cart page" as it is an editable page they could increase the QTY of the free product

I also would like the quantity to be dependent so if the customer ordered 2 totes they would also receive 2 Free CD sampler1

Sign in to reply to this post

Eric Mittman

This is a very custom item discount situation but here is a way you could do this.

On the top of your confirm page you will have add to cart server behaviors for each of your possible free items. For the trigger on these you will need to customize it to check for the presence of one of the triggering items in the cart. You would then have the regular add to cart stuff, for the quantity you would need to set this to the quantity of the triggering item.

To use the code to check if the item is in the cart you will need to know the ids for the triggering items. Here is the function that will check if the item is in the cart:

php:
$eCart1->InCart(the item id)



When you set the quantity of the free item you will want to make it the same as the triggering item, here is the code to do this:

php:
$ATC_itemQuantity = $eCart1->GetInfo(the item id, "Quantity");// column binding



This should get you the free items added to the cart with the quantity of the triggering item. Let us know if you have any further questions on this.

Sign in to reply to this post

BeDigital94844Beta Tester

Thank you Eric- I'll give it a try

Sign in to reply to this post

Eric Mittman

Let us know if you have any further questions about this or any other part of your store.

Sign in to reply to this post

BeDigital94844Beta Tester

Buy One Get One Discount

Thank you Eric- still having a problem- this is what I've done so far...

any additional points as to what I am missing would be appreciated- thank you

On the top of your confirm page you will have
1. add to cart server behaviors for each of your possible (3) free items.
Question: Server Behavior >eCart>add to cart> "Get contents from RS" or Form?


2. For the trigger on these you will need to customize it to check for the presence of one of the triggering items in the cart.
These are the triggers
$eCart1->InCart(7)
$eCart1->InCart(8)
$eCart1->InCart(9)
You would then have the regular add to cart stuff, for the quantity you would need to set this to the quantity of the triggering item.

To use the code to check if the item is in the cart you will need to know the ids for the triggering items.

Here is the function that will check if the item is in the cart:

$eCart1->InCart(the*item*id)*

When you set the quantity of the free item you will want to make it the same as the triggering item, here is the code to do this:

$ATC_itemQuantity*=*$eCart1->GetInfo(7,*"Quantity");//*column*binding*

The following is the PHP code for the first one...

<?php
// WA eCart Get Form PaypalIPN.xml
if (($eCart1->InCart(7) != "")) {
$eCartPersonal->ClearCart();
$displayIndex = 0;
$runOnce = "run";
while (isset($_POST["item_number".($displayIndex+1)])) {
$ATC_AddIfIn = 0;
$ATC_RedirectIfIn = "";
$ATC_ID = "".$_POST["item_number".($displayIndex+1)] ."";
$ATC_Name = "".$_POST["item_name".($displayIndex+1)] ."";
$ATC_Description = "";
$ATC_Weight = "0";
$ATC_itemQuantity*=*$eCart1->GetInfo(7,*"Quantity");//*column*binding*
// $ATC_Quantity = "".$_POST["quantity".($displayIndex+1)] ."";
$ATC_Price = "".$_POST["mc_gross_".($displayIndex+1)]/$_POST["quantity".($displayIndex+1)] ."";
$ATC_Thumbnail = "";
$ATC_SKU = "";
$ATC_Bonus = "";

if (is_numeric($ATC_Quantity) && $ATC_Quantity != 0) {
$eCartPersonal->AddToCart($ATC_AddIfIn, $ATC_RedirectIfIn, $ATC_ID, $ATC_Name, $ATC_Description, $ATC_Weight, $ATC_Quantity, $ATC_Price, $ATC_Thumbnail, $ATC_SKU, $ATC_Bonus);
}
$runOnce = null;
$displayIndex++;
}
}
?>

Sign in to reply to this post

Eric Mittman

Using a regular add to cart server behavior like this is fine, but I think the trigger should be like this:

php:
if ($eCart1->InCart(7)) {



Other than this the code seems fine, I noticed that there are a few asterisks in the code that should not be there, I didn't know if you added this on purpose. What is the result that you are getting with the trigger updated?

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