I would like to add the option of 'Email Basket' wherever you see 'Checkout Now'.
Shopper would then have the option to email a basket to any address, and a note to the email and the email would contain a link back to the basket for modifications or checkout. Settings to keep abandon baskets for 30+ days would need to be enabled but other than that I can think of any major retrieval issues.
Has anyone done this?
Email Basket
Email Basket
Bryan Bundgaard
AC7 User http://www.SchoolSupplyStore.com
AC7 User http://www.SchoolSupplyStore.com
-
- Commodore (COMO)
- Posts: 433
- Joined: Wed May 28, 2008 9:42 am
- Location: Concord, NC
- Contact:
Re: Email Basket
Would be a nice feature!
Re: Email Basket
I think this is doable. The API exposes the functionality to migrate the baskets for users. All we need to is to create some temporary user for each Email basket request, fill the newly created user basket with the items from the actual basket and send the Email with basket link, temporary user id and validation code at desired Email address. When user returns to basket page using the link form his/her Email then first we can check the code to verify the user then migrate the baskets and finally delete the temporary user information. You can also write your custom routine to clear the temporary users. This will be useful for those baskets which actually never been tracked back by the customer. You can use the following script to drop those temporary users and baskets information.
The attachment contains modified files, install these files in very same order. Please take a backup of you App_Code/BasketHelper and ConLib/Basket.ascx.cs files before installing these files. After installation all you need is to place the EmailBasket control some where on store pages where you want the user to send basket Emails. Now add a new Email template with name EmailBasket. Following NVelocity parameters will be available in this Email template
$store,$user,$basket,$basketlink
where $basketlink contains the link of basket page with information required. For example you can put link to basket page in template as below.
Code: Select all
CommerceBuilder.Users.UserCollection users = CommerceBuilder.Users.UserDataSource.LoadForUserName("temp-user-for-basket");
if (users.Count > 0)
{
foreach(CommerceBuilder.Users.User user users)
user.Delete();
}
$store,$user,$basket,$basketlink
where $basketlink contains the link of basket page with information required. For example you can put link to basket page in template as below
Code: Select all
<a href="${basketlink}">Click here for basket</a>
Re: Email Basket
Will this only work if the original user has created an account?
Bryan Bundgaard
AC7 User http://www.SchoolSupplyStore.com
AC7 User http://www.SchoolSupplyStore.com
Re: Email Basket
No, the code does not require that any of the users must be registered.
Re: Email Basket
I know this is a bit of an old post... however I'm using this control and I'm getting some odd results. For instance, it will function correctly if I am logged out of AC when I send the email off -- the email will go through, and clicking the basketlink in the email brings up the basket with the correct contents. However, if I'm logged into AC when I send the email off it doesn't work. The basket gets cleared, and when I click the basketlink in the email it brings up an empty basket. I've tried messing around with the code a bit but haven't gotten very far. I know this is supposed to work whether you are logged in or not -- but for me it is not. Any ideas?