Jump to content
Sign in to follow this  
Met00

Abandoned Carts

Recommended Posts

Great!! I asked for something like this a while ago, but I don't have the knowledge to create it.

 

How would one add a link from the admin to this page so you don't have to type in the URL each time? (Apologies if this is already in the contrib instructions - I haven't actually looked yet)

Glad you found it. Remember it's a hack job (I didn't follow any of the standard conventions of OSC coding). That means that if you want to add it to the admin menue, you're going to have to do it yourself. If you follow OSC standards you will also have to add a bunch of stuff to the application_top.php to make this work. :-)


The king of kluge...

? Do you really know what is and isn't working in your store? ≡ ?

Share this post


Link to post
Share on other sites

:rolleyes: It would be nice to have a 'last date' associated with each order. If I run the order over 30 days, I can't tell when the customer last entered an item to the cart ...is there any way to add that? BTW, thanks! OSC conventions or not, I'm happy to have this added to my Favorites list and just use it that way.

 

Brian

 

http://www.advantagecomposites.com

Share this post


Link to post
Share on other sites
Great!! I asked for something like this a while ago, but I don't have the knowledge to create it.

 

How would one add a link from the admin to this page so you don't have to type in the URL each time? (Apologies if this is already in the contrib instructions - I haven't actually looked yet)

Glad you found it. Remember it's a hack job (I didn't follow any of the standard conventions of OSC coding). That means that if you want to add it to the admin menue, you're going to have to do it yourself. If you follow OSC standards you will also have to add a bunch of stuff to the application_top.php to make this work. :-)

*shrugs*

 

Well, if you read my next post you will see that I found all of that info in the readme file in the actual contrib.

 

Works fine!


Questions not being answered? mecry.gif

Try here first:

Search | Help documents

Share this post


Link to post
Share on other sites
:rolleyes: It would be nice to have a 'last date' associated with each order. If I run the order over 30 days, I can't tell when the customer last entered an item to the cart ...is there any way to add that? BTW, thanks! OSC conventions or not, I'm happy to have this added to my Favorites list and just use it that way.

 

Brian

 

http://www.advantagecomposites.com

Date challenge. I used a bad join in the sql (I'm working at cleaning it up) so that if a person adds an item on 10/15 and then comes back and adds 3 more on 10/17 and then comes back and adds 3 more on 10/20 these will show up as three different carts (should show up as one cart, with the items sorted by add date).

 

This should get fixed in the next release... maybe... :rolleyes:


The king of kluge...

? Do you really know what is and isn't working in your store? ≡ ?

Share this post


Link to post
Share on other sites
This is a great contribution but when I go into my admin and reports this is ontop of the page Configuration

 

 

'' . BOX_REPORTS_UNSOLD_CARTS . '

' .

 

And when you click on it, it comes up with a page not found error.

 

Can anyone tell me what I have done wrong?

 

Thanks

 

Mike

What have you done, exactly? I followed the instructions in the readme file and everything works fine. Perhaps you uploaded the file to the wrong place. It should be under catalog/admin/unsold_carts.php

 

And it also sounds like you didn't define the text to be used in the box, or you put it in the wrong file so the program can't find it. Everything should have been under catalog/admin, not just catalog


Questions not being answered? mecry.gif

Try here first:

Search | Help documents

Share this post


Link to post
Share on other sites

Excellent job! I will look forward to the next release of this fine contrib. LMK if you want me to help out with docs like the readme. I can make a more comprehensive one for you. I prefer you spend your time coding. I am familiar enough with OSC and contribs that if you just give me your changes I can make a nice readme.

 

Also on a sidenote:

 

The very first customer that I decided to email about his unsold cart...I sent him a free shippping coupon and he came back and ordered it. FIRST TRY AND I GOT A SALE! This has HUGE potential for analysis and lead generation but I warn admins not to abuse and spam...otherwise you might turn people off and get a bad rep.

Share this post


Link to post
Share on other sites

How are the updates coming? Anything new yet? I love this contrib and more of you should be adding it to the admin section. This is one that should be part of the next MS.

Share this post


Link to post
Share on other sites

I was wondering if it is possible to add the id # associated with the products that the customers put in their cart? I am sure it is possible but not sure what line of code should be put in. If someone can help with this it would be great.

 

Mike

Share this post


Link to post
Share on other sites
How are the updates coming?  Anything new yet?  I love this contrib and more of you should be adding it to the admin section.  This is one that should be part of the next MS.

I'm working on it.... I have it with checkboxes that you select and then it pushes to a routine that sends the e-mail. I'm now moving the e-mail message to a /languages/english file and then I have to make the new table and set it so that it displays the names of people that you have already contacted in a different colour so you know not to select them again (rather than removing the select box, which I did consider, but I decided to give you the option to send another e-mail if you so desire).

 

Additionally, I'm adding a feature that looks to see if they are a customer that has ordered in the past or not, so it will select a different message for a potential customer and a current customer.

 

As for adding it to the core, thank you for the compliment. It just didn't make sense to me to have all this information and *not* do something with it. We work really hard at making sure that we get our sites indexed by google and MSN and seen, and there we sit with all this information on a potential sale and just let it slip by...

 

Now for a request. I'll ship the entire mess off to someone else if they will pack it up in accordance to the way contribs are supposed to be packed and post it for me... I loath zipping (I'm a .tar.gz type of guy). drop me a line (PM) or e-mail if you want to help out. Thanks.


The king of kluge...

? Do you really know what is and isn't working in your store? ≡ ?

Share this post


Link to post
Share on other sites
As for adding it to the core, thank you for the compliment. It just didn't make sense to me to have all this information and *not* do something with it. We work really hard at making sure that we get our sites indexed by google and MSN and seen, and there we sit with all this information on a potential sale and just let it slip by...

I thought the exact same thing. Fortunately you had the knowledge to do it where I just sat here and said "Wouldn't it be great if someone could do this!!"

 

Now for a request. I'll ship the entire mess off to someone else if they will pack it up in accordance to the way contribs are supposed to be packed and post it for me... I loath zipping (I'm a .tar.gz type of guy). drop me a line (PM) or e-mail if you want to help out. Thanks.

 

This has actually already been added as a contrib with a readme file and everything . . .


Questions not being answered? mecry.gif

Try here first:

Search | Help documents

Share this post


Link to post
Share on other sites
This has actually already been added as a contrib with a readme file and everything . . .

I didn't do it. :)

 

I have made some mods to my original work (even adhering to some OSC standards) and need someone with more patience than I (I abhore zip! - I do my editing in vi!) to pack this thing together in some form of reasonableness so others can make use of it. Or, I could just post the code here again... <_<


The king of kluge...

? Do you really know what is and isn't working in your store? ≡ ?

Share this post


Link to post
Share on other sites
http://www.oscommerce.com/community/contributions,1598

 

I added this with instructions to the contrib section.

 

I credited OP for his work but I renamed it Unsold Carts Report.

I didn't do it. 

 

I have made some mods to my original work (even adhering to some OSC standards) and need someone with more patience than I (I abhore zip! - I do my editing in vi!) to pack this thing together in some form of reasonableness so others can make use of it. Or, I could just post the code here again... 

 

I know it wasn't you ;) But the readme file that was included in the contrib is very readable and perfectly understandable. I had no probs at all installing it. Maybe you could ask him to do the update also.


Questions not being answered? mecry.gif

Try here first:

Search | Help documents

Share this post


Link to post
Share on other sites
I know it wasn't you ;) But the readme file that was included in the contrib is very readable and perfectly understandable. I had no probs at all installing it. Maybe you could ask him to do the update also.

damn female logic...

 

If I can get the new table in tonight, the latest version will be ready tomorrow. Hmmm, it's 3 AM... it is tomorrow...

 

Oh yes, the e-mail looks like...

Education 4 Kids
------------------------------------------------------
http://edushop.edu4kids.com/catalog/login.php


Thank you for stopping by Education 4 Kids and considering us for your
purchase. We noticed that in your visit to our store that you placed the
following item(s) in your shopping cart, but did not complete the transaction
with us. 

Cart Contents:

1 x GeoSafari Talking Globe Jr.
1 x Yacker Tracker

We are always interested in knowing what happened and if there was a reason
that you decided to not purchase with Education 4 Kids at this time. If you
could be so kind as to let us know if you had any issues or concerns, we would
like to address them, as getting this feedback from you and others is how we
can help make your experience at Education 4 Kids better. 

Again, thank you for your time and consideration in helping us make Education 4
Kids a better place.

JM Ivler
Education 4 Kids 
http://edushop.edu4kids.com/

 

It's all in OSC style (in a /languages/english/ file) and fully editable to your desires... it uses a sprintf with the cart contents being passed in. The system also now checks to see if they are already a customer or if they are a new customer and tailors the message (toggles between 2 messages) to meet the different needs.

 

Geeze, didn't I say that I would complete these changes in 2 weeks... what the heck am I doing writing this stuff at 3 AM? I gotta get a life...

B)


The king of kluge...

? Do you really know what is and isn't working in your store? ≡ ?

Share this post


Link to post
Share on other sites

defender39 has been sent the latest release and is testing it on his version of MS1.

 

Release is 2.0

 

From the readme...

---

Authors notes:

 

This is a 2.0 release as the 1.0 release was a report

and this is now a sales tool. As with any tool, it is

designed to do a specific job. You don't use a hammer to

sink screws, and you shouldn't use this to beat on your

potential customers :-). As always, I'm willing to hear

from anyone who has an idea or suggestion on how to make

this more effective. Best of luck to you all in your stores.

 

 

Added the following functionality:

 

1) now the code is "more standard" to OSC

2) uses /languages/english/scart.php for many components

3) new table "scart" to store customers_id when you send them e-mail

4) checkboxes that allow you to select customers to e-mail

5) customers name you have e-mailed show up in red (visual flag)

6) uses a TTL to turn (5) flag off if it has been over the TTL days

7) two e-mails (one for potential customers, one for current customers)

8) existing customers get flagged in the report

 

 

Real important feature. In the language file you will find

EMAIL_TTL defined. This is designed so that a customer who

has been sent an e-mail will show up in red if they have been

contacted in the last N days. This ensures that you don't hound

a customer (you get a visual indicator in the report) with

e-mail. You don't want to send these messages out more than

say, every 90 days to a customer, so you set the TTL to 90.

This way, when the customer comes back and places something in

their cart you will get a visual indicator to *not* send them a

message if you have already done so in the last TTL days.

 

 

JM Ivler

CANITech

---

 

If you think that the tool is worthwhile and feel a need to "donate", please donate to the OSC core.

 

Thanks for all the input to date...


The king of kluge...

? Do you really know what is and isn't working in your store? ≡ ?

Share this post


Link to post
Share on other sites

Nice..works pretty well in MS1 and quite fast. My tests were very successful. OK...now for the things I would like to be added..

 

an additional notes area to enter specific text that goes into the email...

maybe I want to offer some extra discount or coupon to someone.

 

So near the bottom a blank form area to add say...up to 500 characters would be great.

Share this post


Link to post
Share on other sites
Nice..works pretty well in MS1 and quite fast. My tests were very successful. OK...now for the things I would like to be added..

 

an additional notes area to enter specific text that goes into the email...

maybe I want to offer some extra discount or coupon to someone.

 

So near the bottom a blank form area to add say...up to 500 characters would be great.

what, a reporting tool turning into a sales tool isn't enough for you? :D

 

Fine, hold off the release for a day or so and I'll get you the new feature... anything else while I code until 3 AM? B)


The king of kluge...

? Do you really know what is and isn't working in your store? ≡ ?

Share this post


Link to post
Share on other sites
.up to 500 characters would be great.
500 is a bad number database wise. 255 is fine. Next step would 65,535. No point in stopping in between.

 

Hth,

Matt

Share this post


Link to post
Share on other sites

This is an update version that allows for a P.S. basically...you will see a text field at the bottom so you can enter whatever personal text you wish. I will use the area to add things like coupon codes directed toward the customers purchase. say they have over $100 in their cart...I would create a $10 off $100 coupon for them...

 

<?php

/*

  $Id: scart.php,v 2.0 2003/10/24 21:01:31 $

 

  scart contrib: JM Ivler ©

  osCommerce, Open Source E-Commerce Solutions

  http://www.oscommerce.com

 

  Released under the GNU General Public License

 

*/

 

  require('includes/application_top.php');

 

  require(DIR_WS_CLASSES . 'currencies.php');

  $currencies = new currencies();

 

?>

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">

<html <?php echo HTML_PARAMS; ?>>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">

<title><?php echo TITLE; ?></title>

<link rel="stylesheet" type="text/css" href="includes/stylesheet.css">

</head>

<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF">

<!-- header //-->

<?php require(DIR_WS_INCLUDES . 'header.php'); ?>

<!-- header_eof //-->

 

<!-- body //-->

<?

function seadate($day) {

$ts = date("U");

$rawtime = strtotime("-".$day." days", $ts);

$ndate = date("Ymd", $rawtime);

return $ndate;

}

?>

<table border="0" width="100%" cellspacing="2" cellpadding="2">

  <tr>

    <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft">

<!-- left_navigation //-->

<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>

<!-- left_navigation_eof //-->

    </table></td>

<!-- body_text //-->

    <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">

      <tr>

        <td colspan=5><table border="0" width="100%" cellspacing="0" cellpadding="0">

          <tr>

 

 

<? if (count($custid) > 0 ) {  ?>

            <td class="pageHeading"><? echo HEADING_TITLE2; ?> </td>

            <td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>

          </tr>

        </table></td>

      </tr>

<!-- <tr><td colspan=5> <? if (count($custid) > 0 ) { foreach ($custid as $cid) { echo "gotem ".$cid."<br>";}} ?></td></tr> -->

      <tr>

        <td class="smallText">

      <tr class="dataTableHeadingRow">

        <td colspan=5 class="dataTableHeadingContent">Customer</td>

      </tr>

 

<?php

    if (count($custid) > 0 ) {

      foreach ($custid as $cid) {

  $query1 =

      tep_db_query("select cb.products_id as pid, cb.customers_basket_quantity as qty,  cb.customers_basket_date_added as bdate, cus.customers_firstname as fname, cus.customers_lastname as lname, cus.customers_email_address as email from customers_basket as cb, customers as cus where cb.customers_id = cus.customers_id  and cus.customers_id = '".$cid."' order by cb.customers_basket_date_added desc ");

  $knt = mysql_num_rows($query1);

  for ($i = 0; $i < $knt; $i++) {

    $inrec = tep_db_fetch_array($query1);

//    echo " ~~ " .$inrec['fname']." ".$inrec['lname']." ~~ ".$inrec['bdate']. " ~~ ".$inrec['email']." ~~ ".$inrec['pid']." ~~ ".$inrec['qty'].  "<br>";

// set new cline and curcus

    if ($lastcid != $cid)

    $cline = "<tr><td valign=top colspan=2><hr size=1 color=000080></td></tr><tr><td valign=top>".$inrec['fname']." ".$inrec['lname']." <br>".$inrec['email']."</td><td>";

    $lastcid = $cid;

// empty the shopping cart

  $query2 = tep_db_query("select p.products_price as price, pd.products_name as name from products as p, products_description as pd where p.products_id = '".$inrec['pid']."' and pd.products_id = p.products_id");

  $inrec2 = tep_db_fetch_array($query2);

  $cline .= $inrec['qty']." x ".$inrec2['name']."<br>";

  $mline .= $inrec['qty']." x ".$inrec2['name']."\n";

  }

 

  $cline .= "</td></tr>";

//

// send the e-mail - this requires a few things be done in

//              includes/languages/english/scart.php to support the message

//

  $cquery = tep_db_query("select * from orders where customers_id = '".$cid."'" );

 

  if (mysql_num_rows($cquery) < 1) {

$email = STORE_NAME . "\n" . EMAIL_SEPARATOR . "\n" . tep_catalog_href_link(FILENAME_CATALOG_LOGIN, '', 'SSL') . "\n" . sprintf(EMAIL_TEXT_CUST, $mline) . "\n" . $_POST['message'];

  } else {

$email = STORE_NAME . "\n" . EMAIL_SEPARATOR . "\n" . tep_catalog_href_link(FILENAME_CATALOG_LOGIN, '', 'SSL') . "\n" . sprintf(EMAIL_TEXT_CUST, $mline) . "\n" . $_POST['message'];

  }

$custname = $inrec['fname']." ".$inrec['lname'];

tep_mail($custname, $inrec['email'], EMAIL_TEXT_SUBJECT, $email, STORE_NAME, STORE_OWNER_EMAIL_ADDRESS);

  $mline = "";

tep_db_query("insert into " . TABLE_SCART . " (customers_id, dateadded ) values ('" . $cid . "', '" . seadate('0') . "')");

 

echo $cline;

  $cline = "";

}

}

  echo "<tr><td colspan=4 align=right><a href=".$PHP_SELF."><h2>Return to Report</h2></a></td></tr>";

} else {

//

// we are doing the Report

//

  $tdate = $_POST['tdate'];

  if ($_POST['tdate'] == '') $tdate = '10';

  $ndate = seadate($tdate);

//  echo $ndate; // debug line, shows the date we are seeking

?>

            <td class="pageHeading"><? echo HEADING_TITLE2; ?> </td>

            <td class="pageHeading" align="right"><form method=post action=<? echo $PHP_SELF;?> > <table><tr><td>Last </td><td><input type=text size=4 width=4 value=<? echo $tdate; ?> name=tdate> </td><td>Days </td><td><input type=submit value="New Run"> </td></tr></table></form> <?php echo tep_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>

          </tr>

        </table></td>

      </tr>

      <tr>

        <td class="smallText">

      <tr class="dataTableHeadingRow">

        <td class="dataTableHeadingContent">e-mail</td>

        <td class="dataTableHeadingContent">Customer</td>

        <td class="dataTableHeadingContent" colspan="1" width="150">Cart</td>

      </tr><form method=post action=<? echo $PHP_SELF; ?>>

 

<?php

  $tdate = $_POST['tdate'];

  if ($_POST['tdate'] == '') $tdate = '10';

  $ndate = seadate($tdate);

//  echo $ndate; // debug line, shows the date we are seeking

  $query1 =

      tep_db_query("select cb.customers_id as cid, cb.products_id as pid, cb.customers_basket_quantity as qty,  cb.customers_basket_date_added as bdate, cus.customers_firstname as fname, cus.customers_lastname as lname, cus.customers_telephone as phone, cus.customers_email_address as email from customers_basket as cb, customers as cus where cb.customers_basket_date_added >= '".$ndate."' and cb.customers_id = cus.customers_id order by cb.customers_basket_date_added desc, cb.customers_id ");

  $results = 0;

  $fcolor = "000000";

  $curcus = "";

  $tprice = 0;

  $knt = mysql_num_rows($query1);

  for ($i = 0; $i < $knt; $i++) {

    $inrec = tep_db_fetch_array($query1);

//    echo " ~~ ".$curcus." == ".$inrec['cid']." ~~ " .$inrec['fname']." ~~ ";

    if ($curcus != $inrec['cid']) {

// output line

      $cline .= "<tr><td><b>Total: </b>".$tprice."</td></tr></table></td></tr>";

      if ($curcus != "") echo $cline;

// set new cline and curcus

      $curcus = $inrec['cid'];

      $tprice = 0;

  $donequery =

      tep_db_query("select * from ". TABLE_SCART ." where customers_id = '".$inrec['cid']."'");

      $fcolor = "000000";

      $customer = "";

      $emailttl = seadate(EMAIL_TTL);

      if (mysql_num_rows($donequery) > 0) {

        $ttl = tep_db_fetch_array($donequery);

        if ($emailttl <= $ttl['dateadded']) $fcolor = "ff0000";

      }

      $cquery = tep_db_query("select * from orders where customers_id = '".$inrec['cid']."'" );

      if (mysql_num_rows($cquery) > 0) $customer = "<br><font color=blue> Previous Customer</font>";

      $cline = "<tr><td valign=top colspan=3><hr size=1 color=000080></td></tr><tr><td width=10 valign=top><input type=checkbox name=custid[] value=".$curcus."></td> <td valign=top><font color=".$fcolor.">".$inrec['fname']." ".$inrec['lname']."</font> ".$inrec['phone'].$customer."<br><a href=mailto:".$inrec['email'].">".$inrec['email']."</a></td><td><table>";

    }

// empty the shopping cart

  $query2 =

      tep_db_query("select p.products_price as price, pd.products_name as name from products as p, products_description as pd where p.products_id = '".$inrec['pid']."' and pd.products_id = p.products_id");

  $inrec2 = tep_db_fetch_array($query2);

  $tprice = $tprice + ($inrec['qty'] * $inrec2['price']); 

  $cline .= "<tr><td class=smalltext>".$inrec['qty']." x ".$inrec2['name']." @ ".$inrec2['price']." (".$inrec['bdate'].")</td><tr>";

  }

 

  $cline .= "<tr><td><b>Total: </b>".$tprice."</td></tr></table></td></tr>";

  echo $cline;

 

?>

<tr><td colspan=3>

<?php echo tep_draw_textarea_field('message', 'soft', '80', '5'); ?>

<input type=submit value="Send E-Mail"></td></tr>

</form>

<? }

//

// end footer of both e-mail and report

//

?>

    </tr>

    </table>

  </td>

  </tr>

  </table></td>

<!-- body_text_eof //-->

</tr>

</table>

<!-- body_eof //-->

 

<!-- footer //-->

<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>

<!-- footer_eof //-->

<br>

</body>

</html>

<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

Share this post


Link to post
Share on other sites
BTW...that is totally independant of the database.

so, I don't have to do it...

 

okay, fine, be that way. :P

 

Now you have to pack everything I gave you back up and submit it... or, if they don't want to wait doe the submission...

 

README

 

 

Added: 

define('FILENAME_CATALOG_LOGIN', 'login.php');
define('FILENAME_SCART', 'scart.php');
define('TABLE_SCART', 'scart');

to application_top.php

the new SQL table

CREATE TABLE `scart` (
`scartid` INT( 11 ) NOT NULL AUTO_INCREMENT,
`customers_id` INT( 11 ) NOT NULL ,
`dateadded` VARCHAR( 8 ) NOT NULL ,
PRIMARY KEY ( `scartid` ) 
);

 

scart.php from /languages/english

<?php
/*
 $Id: scart.php,v 2.0 2003/10/24 21:01:31 $

 scart contrib: JM Ivler (c)
 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Released under the GNU General Public License
 
*/

define('HEADING_TITLE1', 'Abandoned Cart Report');
define('HEADING_TITLE2', 'Abandoned Cart E-Mail');


define('TABLE_HEADING_CUSTOMERS', 'Customers.');
define('TABLE_HEADING_EMAIL', 'E-Mail');
define('TABLE_HEADING_CART', 'Cart');
define('EMAIL_TTL', '90');

define('EMAIL_SEPARATOR', '------------------------------------------------------');
define('EMAIL_TEXT_SUBJECT', 'Enquiry from Education 4 Kids');
define('EMAIL_TEXT_NEWCUST', "\n\n".'Thank you for stopping by Education 4 Kids and considering us for your purchase. We noticed that in your visit to our store that you placed the following item(s) in your shopping cart, but did not complete the transaction with us. ' . "\n\n" . 'Cart Contents:'."\n\n".'%s' . "\n\n" . 'We are always interested in knowing what happened and if there was a reason that you decided to not purchase with Education 4 Kids at this time. If you could be so kind as to let us know if you had any issues or concerns, we would like to address them as getting this feedback from you and others is how we can help make your experience at Education 4 Kids better. '."\n\n". 'Again, thank you for your time and consideration in helping us make Education 4 Kids a better place.'."\n\n".'JM Ivler'."\n".'Education 4 Kids ' . "\n". 'http://edushop.edu4kids.com/' . "\n");
define('EMAIL_TEXT_CUST', "\n\n".'Firstoff, we would like to thank you for having purchased from Education 4 Kids in the past. Secondly, we noticed in your recent visit to Education 4 Kids that you placed the following item(s) in your shopping cart, but didn\'t complete the transaction with us. ' . "\n\n" . 'Cart Contents:'."\n\n".'%s' . "\n\n" . 'We are always interested in knowing what happened and if there was a reason that you decided to not purchase with Education 4 Kids at this time. If you could be so kind as to let us know if you had any issues or concerns we would like to address them as getting this feedback from you and others is how we can help make your experience at Education 4 Kids better. '."\n\n". 'Again, thank you for your time and consideration in helping us make Education 4 Kids a better place.'."\n\n".'JM Ivler'."\n".'Education 4 Kids ' . "\n". 'http://edushop.edu4kids.com/' . "\n");

?>

 

Install: Place the code in the prior message (2 back) in your admin. Make the changes to application_top.php in includes/ from the readme. Run the SQL to create the new table in the database. place the scart.php into the right place (/languages/english/) and make the appropriate changes to the text.

 

You are now ready to run the scart program. Next, a tool that looks at the scarts table and the customers orders to see if they placed an order within X days after getting an scart message. It's one thing to send these out, but another to verify and validate the success of the program. B)


The king of kluge...

? Do you really know what is and isn't working in your store? ≡ ?

Share this post


Link to post
Share on other sites

Sorry I been caught up with that damn auction manager contrib. I did also add your excellent contrib and spent a great deal of time looking at ways to improve and add things. It really is excellent.

 

define('EMAIL_TEXT_SUBJECT', 'Enquiry from Education 4 Kids');

define('EMAIL_TEXT_NEWCUST', "\n\n".'Thank you for stopping by Education 4 Kids and considering us for your purchase. We noticed that in your visit to our store that you placed the following item(s) in your shopping cart, but did not complete the transaction with us. ' . "\n\n" . 'Cart Contents:'."\n\n".'%s' . "\n\n" . 'We are always interested in knowing what happened and if there was a reason that you decided to not purchase with Education 4 Kids at this time. If you could be so kind as to let us know if you had any issues or concerns, we would like to address them as getting this feedback from you and others is how we can help make your experience at Education 4 Kids better. '."\n\n". 'Again, thank you for your time and consideration in helping us make Education 4 Kids a better place.'."\n\n".'JM Ivler'."\n".'Education 4 Kids ' . "\n". 'http://edushop.edu4kids.com/' . "\n");

define('EMAIL_TEXT_CUST', "\n\n".'Firstoff, we would like to thank you for having purchased from Education 4 Kids in the past. Secondly, we noticed in your recent visit to Education 4 Kids that you placed the following item(s) in your shopping cart, but didn\'t complete the transaction with us. ' . "\n\n" . 'Cart Contents:'."\n\n".'%s' . "\n\n" . 'We are always interested in knowing what happened and if there was a reason that you decided to not purchase with Education 4 Kids at this time. If you could be so kind as to let us know if you had any issues or concerns we would like to address them as getting this feedback from you and others is how we can help make your experience at Education 4 Kids better. '."\n\n". 'Again, thank you for your time and consideration in helping us make Education 4 Kids a better place.'."\n\n".'JM Ivler'."\n".'Education 4 Kids ' . "\n". 'http://edushop.edu4kids.com/' . "\n");

 

?>

 

Some of the info in there needs to be parsed. So instead of ediu4kids.com everywhere it would be STORE_NAME, STORE_OWNER, and such. Minimize the need to make those manual changes in the file if possible.

Edited by defender39

Share this post


Link to post
Share on other sites
Sorry I been caught up with that damn auction manager contrib.  I did also add your excellent contrib and spent a great deal of time looking at ways to improve and add things.  It really is excellent.

 

Thanks. It's been fun to write. Next I think I'm going to tackle the need for options to include SKU numbers (the bad part of this is it touches so may damn pieces of the admin... invoices.. packing slips... what a PITA).

 

Some of the info in there needs to be parsed.  So instead of ediu4kids.com everywhere it would be STORE_NAME, STORE_OWNER, and such.  Minimize the need to make those manual changes in the file if possible.

 

Like I said, scart started off life as a hack and while I *tried* to keep to the OSC standards, I've never been much of a "standards" programmer. :D

 

Thanks for packing everything up nice and neat for me.


The king of kluge...

? Do you really know what is and isn't working in your store? ≡ ?

Share this post


Link to post
Share on other sites

modified the HTML in your message box to be more "in format"

 

<tr><td colspan=3><hr size=1 color=000080><b>Additional PS: message:</b><br><?php echo tep_draw_textarea_field('message', 'soft', '80', '5'); ?><br><input type=submit value="Send E-Mail"></td></tr>

 

This puts a line between the text box and the last record and labels the text box.


The king of kluge...

? Do you really know what is and isn't working in your store? ≡ ?

Share this post


Link to post
Share on other sites

lets see what we can change within the next week or so before making a new contrib...this project is petite enough to finish off quick

 

unless someone has a fresh idea for this?

 

anyone?

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×