Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Recover Cart Sales


Guest

Recommended Posts

Hello,

 

I've just installed the latest v2.22 of the contribution. When I go to my Tools/Recover Cart Sales, there is a Warning message at the top:

 

And here is what I have for days selection:

 

Is this RCS_SKIP_DAYS suppose to be undefined or I'm missing some definitions here?

When I log in as a customer, place something in the cart and then just log out, there is nothing appearing in Tools/Recover Cart Sales. So, I don't think my Recover Cart Sales is working as it suppose to. Any help would be appreciated.

 

Thanks in advance,

Irina.

 

 

I can't seem to get any data into my scart table either.

Link to comment
Share on other sites

As stated in the instructions and previously in this forum, the SCART table is only filled in when you actually send out emails to customers via the RCS tool.

 

You say you get an SQL error, but don't say when, how or why so I can't help much, but my guess is that you are trying to re-add the configuration DB entries and they already exist.

 

This only occurs when I try to recreate the scart table using the cut and paste sql code provided in the step by step instructions. If I import the sql table from rcs_install this does not occur.

 

Are you saying that when you click on the "Recover Cart Sales" link in the admin tools tab that you do not go to the RCS tool itself? If not, what does happen?

 

NO this is not what I am saying at all. The tool must be looking in the wrong place because there is data but it is not seeing the data. When I run the tool no data shows up. I have hundreds of abandoned carts. Non of these are showing up when I run the tool.

Link to comment
Share on other sites

The use of NONSSL is due to following the example of the default osC entries; if you are using SSL then change that to SSL, easy "fix", although that will not actually break anything :)

 

This contribution looks for records in your osC database, in things like TABLE_CUSTOMERS and TABLE_ORDERS. The contribution does not modify any DB information unless you send emails via the RCS tool and then it only adds or modifies the SCART table which is only used by RCS.

 

You will get no data unless you:

 

1. install RCS

2. run the tool

3. select a few customers to send emails to in the tool

4. click on the send email button with those selections made in the tool

 

When you do this the tool will show you who got emails, create the SCART entries, and be done. Of course, in order to select customers to send emails to they must have abandoned carts to be listed by the tool. When you run the tool what do you see on the screen?

 

Hundreds of people are using RCS w/o any difficulty.

 

Where are the carts and how can I find them in the database. If I could find the contents of the carts then I wouldn't have to use this tool. I have searched every table and still no cart contents.

Link to comment
Share on other sites

Could anybody please answer my post above. I can't even get to the point of sending any emails to the customers. Please anybody advise on my problems.

 

Thanks,

Irina.

Link to comment
Share on other sites

Could anybody please answer my post above. I can't even get to the point of sending any emails to the customers. Please anybody advise on my problems.

 

Thanks,

Irina.

Ok, I found what caused my Warning message to appear. I just compared the last version with one of the previous. In a new version of admin/recover_cart_sales.php there is some additional code added around line 48:

// Delete Entry End

$tdate = $_POST['tdate'];

if ($tdate == '') $tdate = RCS_BASE_DAYS;

 

$sdate = $_POST['sdate'];

if( $sdate == '' ) $sdate = RCS_SKIP_DAYS;

I don't know what this code does but since I removed it from the file, there is no more warning and I got my abandoned carts displayed. Now I just need to work a little bit on the email formating. Just one problem I'm getting is when an email sent, I'm getting two emails instead of one. Why is this happening?

Is there any way to get the actual email text displayed in the window prior to sending it to the customer? It would be really nice to see what are we sending. Because as I see by now this window has no use, email text has been already preformated, so we don't need to type any text in that window. Am I right or wrong?

 

Thanks,

Irina.

Link to comment
Share on other sites

Is there any way to get the actual email text displayed in the window prior to sending it to the customer? It would be really nice to see what are we sending. Because as I see by now this window has no use, email text has been already preformated, so we don't need to type any text in that window. Am I right or wrong?

 

This I can answer because I put this in (and it's all discussed in an old thread on "unsold carts" which is what the original version of this, ages ago, was called).

 

The challenge was that some people wanted to add a PS message to the standard e-mail. For instance, the order was large enough to kick off a loyalty discount and you wanted to remind them that an order of this size was able to get that discount. This additional text box was added so you could add those types of messages to the cart customer.

 

To be honest, in all the time since I have had the PS message available I have used it.... ummm... zero times. But, I wasn't the one who asked for it to be in there, and you may want to check that old thread and ask the person who did request it if they ever use it. :-)

Link to comment
Share on other sites

Hundreds of people are using RCS w/o any difficulty.

Where are the carts and how can I find them in the database. If I could find the contents of the carts then I wouldn't have to use this tool. I have searched every table and still no cart contents.

 

I am starting to get a handle on how the cart contents are stored in Table_Customers_basket It appears that the field products_id stores all the product quantity details that I need. I am not sure how to access this. If I exprt to excel I only get the top product in th basket and not all the products in the basket. So how to I get all the products in the basket? What actually is a "Memo" entry? I know that this is off topic but I am not making any progreess in getting this module to draw from my database the info I need.

Link to comment
Share on other sites

Hello,

 

I've just installed the latest v2.22 of the contribution. When I go to my Tools/Recover Cart Sales, there is a Warning message at the top:

 

And here is what I have for days selection:

 

Is this RCS_SKIP_DAYS suppose to be undefined or I'm missing some definitions here?

When I log in as a customer, place something in the cart and then just log out, there is nothing appearing in Tools/Recover Cart Sales. So, I don't think my Recover Cart Sales is working as it suppose to. Any help would be appreciated.

 

Thanks in advance,

Irina.

Yes, it is supposed to be a configuration option. Hmm... rats, I just downloaded the 2.22 archive and found that I didn't copy the entire update to the install.sql file! It is in the install and update directions and update.sql file however. I will upload a correct sql file shortly, but here is the statement required:

INSERT INTO `configuration` ( `configuration_id` , `configuration_title` , `configuration_key` , `configuration_value` , `configuration_description` , `configuration_group_id` , `sort_order` , `last_modified` , `date_added` , `use_function` , `set_function` )
  VALUES ('', 'Skip days', 'RCS_SKIP_DAYS', '5', "Number of days to skip when looking for abandoned carts.", 6501, 11, NULL, NOW(), '', '');

 

Sorry about that!

Link to comment
Share on other sites

Hundreds of people are using RCS w/o any difficulty.

Where are the carts and how can I find them in the database. If I could find the contents of the carts then I wouldn't have to use this tool. I have searched every table and still no cart contents.

I am starting to get a handle on how the cart contents are stored in Table_Customers_basket It appears that the field products_id stores all the product quantity details that I need. I am not sure how to access this. If I exprt to excel I only get the top product in th basket and not all the products in the basket. So how to I get all the products in the basket? What actually is a "Memo" entry? I know that this is off topic but I am not making any progreess in getting this module to draw from my database the info I need.

Very off topic :rolleyes:

 

Look in recover_cart_sales.php ... it does everything you need. After

 

<!-- body_text //-->

 

is the code to get all the data.

Link to comment
Share on other sites

Very off topic :rolleyes:

 

Look in recover_cart_sales.php ... it does everything you need. After

 

<!-- body_text //-->

 

is the code to get all the data.

Right now recover_cart_sales.php doesn't seem to do much of anything. There is are no carts showing up and I can't seem to begin to even figure out where things are going wrong. :rolleyes:

Link to comment
Share on other sites

Yes, it is supposed to be a configuration option. Hmm... rats, I just downloaded the 2.22 archive and found that I didn't copy the entire update to the install.sql file! It is in the install and update directions and update.sql file however. I will upload a correct sql file shortly, but here is the statement required:

INSERT INTO `configuration` ( `configuration_id` , `configuration_title` , `configuration_key` , `configuration_value` , `configuration_description` , `configuration_group_id` , `sort_order` , `last_modified` , `date_added` , `use_function` , `set_function` )
  VALUES ('', 'Skip days', 'RCS_SKIP_DAYS', '5', "Number of days to skip when looking for abandoned carts.", 6501, 11, NULL, NOW(), '', '');

 

Sorry about that!

Thanks for the code, lane. This is exactly what was missing. I got everything working now except for the Recover Cart Sales Report. If I understand it right, when the customer has been contacted, that suppose to be registered in the scart table and show up in Reports section. But nothing is shown in my Recover Cart Sales Report. It is registered in the scart table though. What else might be wrong?

 

Thanks,

Irina.

Edited by Irin
Link to comment
Share on other sites

And one more thing I forgot, if I check the option to send me a copy of email, then in the To field there is customer's email and mine. That not very nice to show the customer that you've got a copy of the email. Is there any way to send an extra email to the store owner without actually showing it in the To field, just like when a new order is placed and an extra email is sent to the store owner. Do you understand what I'm talking about?

 

Thanks,

Irina.

Link to comment
Share on other sites

And one more thing I forgot, if I check the option to send me a copy of email, then in the To field there is customer's email and mine. That not very nice to show the customer that you've got a copy of the email. Is there any way to send an extra email to the store owner without actually showing it in the To field, just like when a new order is placed and an extra email is sent to the store owner. Do you understand what I'm talking about?

 

Thanks,

Irina.

 

look in the code and find where it sends the e-mail. add a BCC line to the e-mail header and insert your address there and you'll get a blind carbon rather than being in the to line. (I would show an example, but I'm still running a very old version so a cut-and-paste example from me wouldn't be of much use) :-)

Link to comment
Share on other sites

look in the code and find where it sends the e-mail. add a BCC line to the e-mail header and insert your address there and you'll get a blind carbon rather than being in the to line. (I would show an example, but I'm still running a very old version so a cut-and-paste example from me wouldn't be of much use) :-)

Thanks for your reply, Met00. Are you talking about admin/recover_cart_sales.php? The code for sending an email is:

// E-mail Processing - Requires EMAIL_* defines in the

// includes/languages/english/recover_cart_sales.php file

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

$email = EMAIL_TEXT_LOGIN;

 

if( EMAIL_USE_HTML == 'true' )

$email .= ' <a HREF="' . tep_catalog_href_link(FILENAME_CATALOG_LOGIN, '', 'SSL') . '">' . tep_catalog_href_link(FILENAME_CATALOG_LOGIN, '', 'SSL') . '</a><br>';

else

$email .= ' (' . tep_catalog_href_link(FILENAME_CATALOG_LOGIN, '', 'SSL') . ')';

 

$email .= "\n" . EMAIL_SEPARATOR . "\n\n<br>";

 

if (RCS_EMAIL_FRIENDLY == 'true')

$email .= EMAIL_TEXT_SALUTATION . $inrec['fname'] . ",";

else

$email .= STORE_NAME . "\n<br>" . EMAIL_SEPARATOR . "\n<br>";

 

if (mysql_num_rows($cquery) < 1)

$email .= sprintf(EMAIL_TEXT_NEWCUST_INTRO, $mline);

else

$email .= sprintf(EMAIL_TEXT_CURCUST_INTRO, $mline);

 

$email .= EMAIL_TEXT_BODY_HEADER . "\n<b>" . $mline . "\n</b>" . EMAIL_TEXT_BODY_FOOTER;

 

if( EMAIL_USE_HTML == 'true' )

$email .= STORE_NAME . " Sales Team\n<br>" . "<a HREF='" . tep_catalog_href_link('', '') . "'>" . tep_catalog_href_link('', '') . "</a><br>";

else

$email .= STORE_NAME . "\n" . tep_catalog_href_link('', '');

 

$email .= "\n\n". $_POST['message'];

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

 

$outEmailAddr = '"' . $custname . '" <' . $inrec['email'] . '>';

if( tep_not_null(RCS_EMAIL_COPIES_TO) )

$outEmailAddr .= ', ' . RCS_EMAIL_COPIES_TO;

 

tep_mail('', $outEmailAddr, EMAIL_TEXT_SUBJECT, $email, STORE_NAME, EMAIL_FROM);

 

$mline = "";

So, what exactly I need to add there and where? I'll appreciate your help.

 

Thanks,

Irina.

Link to comment
Share on other sites

Right now recover_cart_sales.php doesn't seem to do much of anything. There is are no carts showing up and I can't seem to begin to even figure out where things are going wrong. :rolleyes:

 

 

B)

 

I found my problem. I would have expected some one here to have necountered this before but ...

 

In the step by step instructions it states Step 9:

The admin area does not know about special pricing on items, and so lists only the "default" price for items, which can give you inaccurate results. This step fixes this problem in a manner that enables any other contribution to get special pricing using the same code as the cart does.

 

This leads one to believe that one could run the tool with out this which is what i did. When you don't complete this step you get no carts. I suggest you take this wording out. Special prices or no special prices this needs to be done. It is not an option as one would have assumed from this wording. If some one doesn't have any data in their cart I will advice correctly that they probably skipped this step. The instructions are very misleading.

Link to comment
Share on other sites

Thanks for your reply, Met00. Are you talking about admin/recover_cart_sales.php? The code for sending an email is:

 

So, what exactly I need to add there and where? I'll appreciate your help.

 

Thanks,

Irina.

 

tep_mail is a half assed function. It should allow params to be passed as the last part of the function and it doesn't. I think that's one of the reasons why I didn't bother with it in my original code.

 

So, the solution is to revert back to an old version of the code that doesn't use the half assed tep_mail that won't support BCC ... or ... Replace the RCS code as follows

 

replace this:

 

if( tep_not_null(RCS_EMAIL_COPIES_TO) )
$outEmailAddr .= ', ' . RCS_EMAIL_COPIES_TO;

tep_mail('', $outEmailAddr, EMAIL_TEXT_SUBJECT, $email, STORE_NAME, EMAIL_FROM);

 

with this

 

if( tep_not_null(RCS_EMAIL_COPIES_TO) ) {
tep_mail('',RCS_EMAIL_COPIES_TO, EMAIL_TEXT_SUBJECT."(".$outEmailAddr.")", $email, STORE_NAME, EMAIL_FROM);
}

tep_mail('', $outEmailAddr, EMAIL_TEXT_SUBJECT, $email, STORE_NAME, EMAIL_FROM);

 

This will slow your server down a smidgen as it makes two calls to the tep_mail rather than one, but it's a clean solution and I haven't messed with cleaning up tep_mail to be a tad more functional (which is really the core teams job... why would they want it less functional... I have no idea). I added a small piece to make sure that you know who it went to in the subject line (I included the customers e-mail in the subject - feel free to remove that if it annoys you :-" )

 

 

That should take care of your challenges with hiding the additional e-mail. It's a kluge, but hell, I'm the king of osc kluges B)

Link to comment
Share on other sites

Thanks for the code, lane. This is exactly what was missing. I got everything working now except for the Recover Cart Sales Report. If I understand it right, when the customer has been contacted, that suppose to be registered in the scart table and show up in Reports section. But nothing is shown in my Recover Cart Sales Report. It is registered in the scart table though. What else might be wrong?

The report only "shows" sales that have been recovered; ie, you not only have to contact them via the RCS tool, but the customer has to come back and complete the sale. And by "shows" I mean displays the count and % of recoveries, not a list of them. (The tool displayes all contacted customers in red if you need that information).

Link to comment
Share on other sites

I found my problem. I would have expected some one here to have necountered this before but ...

 

In the step by step instructions it states Step 9:

The admin area does not know about special pricing on items, and so lists only the "default" price for items, which can give you inaccurate results. This step fixes this problem in a manner that enables any other contribution to get special pricing using the same code as the cart does.

 

This leads one to believe that one could run the tool with out this which is what i did. When you don't complete this step you get no carts. I suggest you take this wording out. Special prices or no special prices this needs to be done. It is not an option as one would have assumed from this wording. If some one doesn't have any data in their cart I will advice correctly that they probably skipped this step. The instructions are very misleading.

Why would you think this step was optional? Nothing in the instructions say that. In fact the text you point to is detailing why the step is required... we are adding a function to the admin area that is used by RCS. If you skip adding this function, it would be expected that the code would not work because the required function can not be found.

Link to comment
Share on other sites

Why would you think this step was optional? Nothing in the instructions say that. In fact the text you point to is detailing why the step is required... we are adding a function to the admin area that is used by RCS. If you skip adding this function, it would be expected that the code would not work because the required function can not be found.

 

Hey,

 

If you read very carefully what he says, he is not saying that that step is optional. He is saying that the wording in the installation instructions seems to make people seem that it only needs to be done if you use special pricing in your oscommerce installation; so if you dont use special pricing, then it makes it seem like you can skip that step.

So he was saying that instead of the way it is currently worded (i.e. in the reference to using special pricing) it should be worded in a way as to make EVER customer to do that step no matter whether they use special pricing in their store or not.

 

Cheers,

Chris :)

Link to comment
Share on other sites

tep_mail is a half assed function. It should allow params to be passed as the last part of the function and it doesn't. I think that's one of the reasons why I didn't bother with it in my original code.

 

So, the solution is to revert back to an old version of the code that doesn't use the half assed tep_mail that won't support BCC ... or ... Replace the RCS code as follows

 

replace this:

 

if( tep_not_null(RCS_EMAIL_COPIES_TO) )
$outEmailAddr .= ', ' . RCS_EMAIL_COPIES_TO;

tep_mail('', $outEmailAddr, EMAIL_TEXT_SUBJECT, $email, STORE_NAME, EMAIL_FROM);

 

with this

 

if( tep_not_null(RCS_EMAIL_COPIES_TO) ) {
tep_mail('',RCS_EMAIL_COPIES_TO, EMAIL_TEXT_SUBJECT."(".$outEmailAddr.")", $email, STORE_NAME, EMAIL_FROM);
}

tep_mail('', $outEmailAddr, EMAIL_TEXT_SUBJECT, $email, STORE_NAME, EMAIL_FROM);

 

This will slow your server down a smidgen as it makes two calls to the tep_mail rather than one, but it's a clean solution and I haven't messed with cleaning up tep_mail to be a tad more functional (which is really the core teams job... why would they want it less functional... I have no idea). I added a small piece to make sure that you know who it went to in the subject line (I included the customers e-mail in the subject - feel free to remove that if it annoys you :-" )

That should take care of your challenges with hiding the additional e-mail. It's a kluge, but hell, I'm the king of osc kluges B)

Thanks for the code, Met00. Works fine. I appreciate your help, guys.

 

Regards.

Link to comment
Share on other sites

Is there any way I can send in an email a product model along with product name for Shopping Cart Contents?

 

Thanks,

Irina.

 

Yes, just add the model field to the query and then add the modle number field to the line that builds the cart contents. You coud even add pricing information, but then you would have to steal the code you use to display prices from the customers product_info page so that you display the correct price on each item (the code that checks for special's pricing and also, if you are using groups (SPPC) that code as well).

Link to comment
Share on other sites

Yes, just add the model field to the query and then add the modle number field to the line that builds the cart contents. You coud even add pricing information, but then you would have to steal the code you use to display prices from the customers product_info page so that you display the correct price on each item (the code that checks for special's pricing and also, if you are using groups (SPPC) that code as well).

Is this the query you're talking about:

// get the shopping cart

$query2 = tep_db_query("select p.products_price price,

p.products_tax_class_id taxclass,

p.products_model model,

pd.products_name name

from " . TABLE_PRODUCTS . " p,

" . TABLE_PRODUCTS_DESCRIPTION . " pd,

" . TABLE_LANGUAGES . " l

where p.products_id = '" . $inrec['pid'] . "' and

pd.products_id = p.products_id and

pd.language_id = " . (int)$languages_id );

 

$inrec2 = tep_db_fetch_array($query2);

$sprice = tep_get_products_special_price( $inrec['pid'] );

if( $sprice < 1 )

$sprice = $inrec2['price'];

According to this query products_model and products_price are pulled from the db. Am I correct?

And here is the line that builds shopping cart contents:

// Some users may want to include taxes in the pricing, allow that. NOTE HOWEVER that we don't have a good way to get individual tax rates based on customer location yet!

if( RCS_INCLUDE_TAX_IN_PRICES == 'true' )

$sprice += ($sprice * tep_get_tax_rate( $inrec2['taxclass'] ) / 100);

else if( RCS_USE_FIXED_TAX_IN_PRICES == 'true' && RCS_FIXED_TAX_RATE > 0 )

$sprice += ($sprice * RCS_FIXED_TAX_RATE / 100);

 

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

$pprice_formated = $currencies->format($sprice);

$tpprice_formated = $currencies->format(($inrec['qty'] * $sprice));

 

$cline .= "<tr class='dataTableRow'>

<td class='dataTableContent' align='left' width='15%' nowrap>" . $inrec2['model'] . "</td>

<td class='dataTableContent' align='left' colspan='2' width='55%'><a href='" . tep_href_link(FILENAME_CATEGORIES, 'action=new_product_preview&read=only&pID=' . $inrec['pid'] . '&origin=' . FILENAME_RECOVER_CART_SALES . '?page=' . $HTTP_GET_VARS['page'], 'NONSSL') . "'>" . $inrec2['name'] . "</a></td>

<td class='dataTableContent' align='center' width='10%' nowrap>" . $inrec['qty'] . "</td>

<td class='dataTableContent' align='right' width='10%' nowrap>" . $pprice_formated . "</td>

<td class='dataTableContent' align='right' width='10%' nowrap>" . $tpprice_formated . "</td>

</tr>";

 

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

 

if( EMAIL_USE_HTML == 'true' )

$mline .= ' <blockquote><a href="' . tep_catalog_href_link(FILENAME_CATALOG_PRODUCT_INFO, 'products_id='. $inrec['pid']) . '">' . tep_catalog_href_link(FILENAME_CATALOG_PRODUCT_INFO, 'products_id='. $inrec['pid']) . "</a></blockquote>\n\n";

else

$mline .= ' (' . tep_catalog_href_link(FILENAME_CATALOG_PRODUCT_INFO, 'products_id='. $inrec['pid']).")\n\n";

}

 

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

I'm not very strong in coding. Would you please advise me on how to implement that? I'll appreciate your help.

 

Thanks,

Irina.

Link to comment
Share on other sites

If you read very carefully what he says, he is not saying that that step is optional. He is saying that the wording in the installation instructions seems to make people seem that it only needs to be done if you use special pricing in your oscommerce installation; so if you dont use special pricing, then it makes it seem like you can skip that step.

So he was saying that instead of the way it is currently worded (i.e. in the reference to using special pricing) it should be worded in a way as to make EVER customer to do that step no matter whether they use special pricing in their store or not.

Ah... that's easy enough. I'll update the instructions to say "NOT OPTIONAL" next time I edit them. :)

 

I already updated the code used so that even if someone copies the code in the install directions it will not break their cart (although it will likely report the wrong $ values), so that should also help.

 

Thanks!

Link to comment
Share on other sites

Is this the query you're talking about:

 

According to this query products_model and products_price are pulled from the db. Am I correct?

And here is the line that builds shopping cart contents:

 

I'm not very strong in coding. Would you please advise me on how to implement that? I'll appreciate your help.

 

Thanks,

Irina.

 

Okay let's look at the code

 

// get the shopping cart
$query2 = tep_db_query("select p.products_price price,
p.products_tax_class_id taxclass,
p.products_model model,
pd.products_name name
from " . TABLE_PRODUCTS . " p,
" . TABLE_PRODUCTS_DESCRIPTION . " pd,
" . TABLE_LANGUAGES . " l
where p.products_id = '" . $inrec['pid'] . "' and
pd.products_id = p.products_id and
pd.language_id = " . (int)$languages_id );

$inrec2 = tep_db_fetch_array($query2);
$sprice = tep_get_products_special_price( $inrec['pid'] );
if( $sprice < 1 )
$sprice = $inrec2['price'];

 

Yep, this gets the price, taxclass, model and name and replaces the price with the specials price.

 

// Some users may want to include taxes in the pricing, allow that. NOTE HOWEVER that we don't have a good way to get individual tax rates based on customer location yet!
if( RCS_INCLUDE_TAX_IN_PRICES == 'true' )
$sprice += ($sprice * tep_get_tax_rate( $inrec2['taxclass'] ) / 100);
else if( RCS_USE_FIXED_TAX_IN_PRICES == 'true' && RCS_FIXED_TAX_RATE > 0 )
$sprice += ($sprice * RCS_FIXED_TAX_RATE / 100);

 

This does some playing around with taxes based an a configuration value

 

$tprice = $tprice + ($inrec['qty'] * $sprice);
$pprice_formated = $currencies->format($sprice);
$tpprice_formated = $currencies->format(($inrec['qty'] * $sprice));

 

This gets the models total price and formats the price and total price

 

$cline .= "<tr class='dataTableRow'>
<td class='dataTableContent' align='left' width='15%' nowrap>" . $inrec2['model'] . "</td>
<td class='dataTableContent' align='left' colspan='2' width='55%'><a href='" . tep_href_link(FILENAME_CATEGORIES, 'action=new_product_preview&read=only&pID=' . $inrec['pid'] . '&origin=' . FILENAME_RECOVER_CART_SALES . '?page=' . $HTTP_GET_VARS['page'], 'NONSSL') . "'>" . $inrec2['name'] . "</a></td>
<td class='dataTableContent' align='center' width='10%' nowrap>" . $inrec['qty'] . "</td>
<td class='dataTableContent' align='right' width='10%' nowrap>" . $pprice_formated . "</td>
<td class='dataTableContent' align='right' width='10%' nowrap>" . $tpprice_formated . "</td>
</tr>";

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

 

This formats the admin display and add the quantity and the name of the item to the e-mail line

 

if( EMAIL_USE_HTML == 'true' )
$mline .= ' <blockquote><a href="' . tep_catalog_href_link(FILENAME_CATALOG_PRODUCT_INFO, 'products_id='. $inrec['pid']) . '">' . tep_catalog_href_link(FILENAME_CATALOG_PRODUCT_INFO, 'products_id='. $inrec['pid']) . "</a></blockquote>\n\n";
else
$mline .= ' (' . tep_catalog_href_link(FILENAME_CATALOG_PRODUCT_INFO, 'products_id='. $inrec['pid']).")\n\n";
}

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

 

This modifies the mail line with a link to the product in the store.

 

Now, that you know what it does, if you want to send the prices, well add them to the mline

 

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

 

Now, let me explain why that is a bad idea. What if you have and use SPPC? Then the pricing may NOT be correct since you didn't get the customers group and the procing for the group. What if the customer saw the product on Monday, and it was on special, and when you generate the report on Wednesday it has fallen off special (the reason I didn't include "specials" when I wrote the initial code)?

 

The goal of this tool is to gentely tap the customer on the shoulder and remind them that they have a cart in your store.

 

Imagine if you were in Macy's. A sales associate (I think that's the upscale name) sees you walking off leaving your cart and wandering away. Now, do they come up and say "Excuse me, but I noticed you left a full cart here containing a few dressess and some mens ties, was there a problem that I can help you with?" or do they come up and say "I see you had two dresses in your cart from Eve St Lione at $165.23 and three Christies Dour dresses for $230.52, and 4 Belli men's ties at $12.34 each. Was there a problem with your shopping experience?"

 

Right, knowing what's in the cart and checking on the experience... okay, pushing the great prices at the same time, a sales push. One is a gentle tap on the shoulder, the other is getting into my face about money. Remember, a great part of this tool is about managing the impression that you make on the customer, not just getting them to return and make a purchase. The goal is to create a "we care" environment in a non-touchey-feeley medium of e-mail, not another annoying push for a sale.

 

Enough of my pounding on the pulpit. I've been through this battle before when I preloaded the "we care" into the base product and others wanted to push the sale. You know where I stand, you know how to push the sale now. Have fun.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...