Jump to content

Resolved - Urgent: Products missing on email notifications


Guest

Recommended Posts

Hello,

Could not find any solution on both forums so here's my (major) problem:

1) I noticed that when a client is buying multiple products, in the e-mail notification the total price is correct but you see only 1(!) product. What I want, and has to be normal, is an overview of ALL the products that the client bought.

The email templates are original and my CC version is 5.14 (latest)

2) Besides that the client does not receive any email till the admin changes the status. Need solution too for this one.

Kind regards,

Boudi

PS: the reason for urgency is that our client has to put the shop online within 17 hours from this topicstart.

Link to comment
Share on other sites

Just to confirm, the email templates being used are the stock templates and have not been modified? If so, what does the Subject of the email say? Have any additional translations been made to any email templates?

Of the several products being purchased in a given order, are any of them 'digital'?

The admin needs to change the status from what to what? Presumably from 'Processing' to 'Complete'?

And which gateway does the customer go through?

Link to comment
Share on other sites

Thank you for your quick respond!

@ Brian:

Just to confirm, the email templates being used are the stock templates and have not been modified? - Yes, only changed some text/words but no coding or whatsoever.

If so, what does the Subject of the email say? - New Order #{$DATA.cart_order_id}

Have any additional translations been made to any email templates? - No

Of the several products being purchased in a given order, are any of them 'digital'? - No

The admin needs to change the status from what to what? Presumably from 'Processing' to 'Complete'? - The order is coming in as PENDING (open?) and the admin receives an email with the title "New order". In this order you see the problem as I mentioned in the first topic. When multiple products are ordered, the only thing that is shown correct is the total price. In the order itself you only see the latest added product and latest added quantity of this product. The other products and their quantities are not shown.

And which gateway does the customer go through? - Invoice (didn't test the others though)

@ Dirty, Good thought. Your 2nd point, I'm not Sagepay.

PS: the shop was recently upgraded bij CC from 5.07 to 5.14. I don't know if that could be a problem.

Link to comment
Share on other sites

Ok, so we know the email in question #1 is sent to the Administrators as a New Order (Pending status). Have you attempted to view the Plain Text portion of the received email, as opposed to the HTML rich-text portion? (That may be extremely difficult depending on the program you use to read your emails.)

Please visit your Email Templates screen and choose the English (just because) version of "Admin: Order Received". On the Edit Email Content screen select the Plain Text tab. Scroll down until you see the following:

----------------------------------------------------------------------

Items in Your Order

What follows should be:

{foreach from=$PRODUCTS item=product}

-----------------------------------

{$product.name}

{$product.product_options}

Part Number: {$product.product_code}

Unit Price: {$product.price}

Qty: {$product.quantity}

Seeing this, now click to the HTML Content tab. You will need to click the Source button on the editor's toolbar. Scroll down until you see this:


<strong>Quantity</strong></td>

<td>

<strong>Cost</strong></td>

</tr>

<!--{foreach from=$PRODUCTS item=product}-->

<tr>

<td>

{$product.name}<br />

{$product.product_options}</td>

<td>

{$product.quantity}</td>

<td>

{$product.price}</td>

</tr>

<!--{/foreach}-->

<tr>

If you don't see the foreach keyword, then we have found the problem. If that word is there, then shortly later in the code should be the matching /foreach. If that is there, we need to be looking elsewhere. And the code that populates this particular email content template has no known issues.

"The latest added [to the cart] product item is shown." Interesting! That definitely points to the probability that {foreach} is not in the template code or that something is interfering with it.

Link to comment
Share on other sites

WOW! ALL the 5.1.4 emails have the {foreach} sections commented out. I had modified the US one, so it kept mine. But all the other languages are wrong.

Searching via FTP for foreach so I can take the comments off and discovered other languages have {foreach from=$TAXES item=tax} commented out, too.

Link to comment
Share on other sites

Thank you for pointing me out. As far as I can notice I can't see any differences with your piece of code. The TXT part is correct. The source of the HTML is correct too as far as I can see (part of the code):


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

<tbody>

<tr>

<td>

<strong>Item</strong></td>

<td>

<strong>Quantity</strong></td>

<td>

<strong>Cost</strong></td>

</tr>

<!--{foreach from=$PRODUCTS item=product}-->

<tr>

<td>

{$product.name}<br />

{$product.product_options}</td>

<td>

{$product.quantity}</td>

<td>

{$product.price}</td>

</tr>

<!--{/foreach}-->

<tr>

<td>

&nbsp;</td>

<td>

Shipping: ({$DATA.ship_method})</td>

<td>

{$DATA.shipping}</td>

</tr>

<tr>

<td>

&nbsp;</td>

<td>

Discount:</td>

<td>

{$DATA.discount}</td>

</tr>

<tr>

<td>

&nbsp;</td>

<td>

Subtotal:</td>

<td>

{$DATA.subtotal}</td>

</tr>

<!--{foreach from=$TAXES item=tax}-->

<tr>

<td>

&nbsp;</td>

<td>

{$tax.tax_name}: ({$tax.tax_percent}%)</td>

<td>

{$tax.tax_amount}</td>

</tr>

<!--{/foreach}-->

<tr>

<td>

&nbsp;</td>

<td>

<strong>Order Total: </strong></td>

<td>

<strong>{$DATA.total}</strong></td>

</tr>

</tbody>

</table>

Link to comment
Share on other sites

The order is coming in as PENDING. Ok, there are two basic scenarios where an order's status enters the Pending state. The customer has reached the point in the checkout process where:

1. A payment gateway needs to be selected.

2. The payment processor has rejected the transaction (failed).

(Now, if the processor failed the transaction, an email should be sent to the customer saying the payment was rejected. But there is a bug regarding that.)

There is no code that sends an email to the customer until the order enters the Processing status. And even when entering the Processing status, there is a switch that must be enabled to send these Status Progress emails.

Are you asking for an email to be sent to the customer at that point in the checkout process before the customer attempts to pay for it?

Link to comment
Share on other sites

@ Brian,

Your solution did the trick!

I edited soms words from the html part a few days ago. But I think that only editing a few words (double click on it, change it, save it) has caused the


<!--{foreach from=$PRODUCTS item=product}-->

<!--{/foreach}-->





to dissapear. Problem is that when you don't know how the original source was like you don't know that this could cause the problem.

But your tip to check in another language first (and then check my own language) pointed me in the right direction.

Thank you, thank you and thank you again for taking the time to help me out. This thing was highly important for me.

===============================================================================================

Are you asking for an email to be sent to the customer at that point in the checkout process before the customer attempts to pay for it?

Well, in our country (Netherlands) it's normal when you receive an email when you ordered something, Regardless if the payment is by invoice or online.

What I miss here (correct me if I'm wrong) is that the customer receives nothing until the admin manually changes the pulldown from pending in another type.

Personally I think that's not good and there should be an email notification when the order is totally completed, not aborted off course.

KInd regards,

Boudi

Link to comment
Share on other sites

If the {foreach} words were not there, I believe you should not have had any items listed. Or maybe their placement in the code got mangled. (Actually, that is the most plausible scenario. The foreach loop was processed, but nothing was inside it, with the last item in the loop still available to the $product variables. Yes, I believe that must be the case.)

Please report back that the actual email is, in fact, correct.

You said that iDeal payment (Dutch) and Print Order Form (POF) are the two methods available to check out.

The POF does its own emailing of the Order Confirmation email if the POF admin settings panel says to send one. By definition, a POF purchase is in the Pending status until the store owner transacts the payment that then suggests the admin will move the order to Processing.

Link to comment
Share on other sites

Hello,

Yes I can confirm that new orders do have all the products and quantities listed as supposed to be. As for the reaction of Dirty, I don't know If this was my own failure or this just a bug from CC that, besides the English version, other version do miss the {foreach} what means that in all other languages the same problems should appear. But again, I don't know if that's the case. If so, than CC should bring asap a new upgrade to this.

Again, thank you for your time and solution that helped me an future others.

Boudi

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