Review Reminder Email
I'm trying to modify the Advanced Customer Reviews Review Reminder Email that would be sent.
One, will it send to all customers, or those who have created an account? Two, where do I modify the review reminder email at? Thanks. |
Re: Review Reminder Email
Well, in my case it does not send remainders at all. It shows that they were sent but I find nothing in my mailbox. It works fine in test mode though.
Anybody knows what I am doing wrong? |
Re: Review Reminder Email
Quote:
Yes, reminders will be send to all customers. It doesn't matter if they are registered customers or anonymous. Quote:
Review reminder email can be changed in the 'skin/common_files/mail/html/acr_review_reminder.tpl' file. Please do not forget about the plain template 'skin/common_files/mail/acr_review_reminder.tpl. It should be changed too. |
Re: Review Reminder Email
Thanks.
Is there a language file that is associated with the email text? Also how would I go about testing the email? |
Re: Review Reminder Email
Quote:
There are two possible solutions 1. Check your 'send_review_reminders.php' file. If you find such part of code: PHP Code:
then uncomment it and replace with: PHP Code:
---- OR ----- 2. In the 'send_review_reminders.php' file find the following part of code: PHP Code:
and replace it with: PHP Code:
|
Re: Review Reminder Email
Quote:
The 'txt_acr_add_products_reviews' variable is used in this template. By the way the content of this template can be changed with 'Edit templates' feature in your admin area: <your_xcart_store>/admin/file_edit.php?dir=%2Fcommon_files%2Fmail%2Fhtml&fi le=%2Fcommon_files%2Fmail%2Fhtml%2Facr_review_remi nder.tpl Quote:
Default email is: http://help.x-cart.com/images/7/72/Acr_review_reminder_email.gif In my test store I use the following part of code in the '<xcart_root_dir>/send_review_reminders.php' file: PHP Code:
In test mode emails will be sent to the specified TEST_EMAIL only and for ALL orders. I do not recommend use it on the live store. |
Re: Review Reminder Email
Thanks a lot!
John |
Re: Review Reminder Email
Thanks for quick reply. Yes, the second solution seems to work, I commented out the first two lines though. But it sent a reminder and inserted an Y into my database. Need to test it more but we are almost there.
But it still does not include mail templates. I receive a mail with only product listing and bottom signature. Link is ok. I get this in my log: Warning: Smarty error: unable to read resource: "skin/common_files/mail/salutation.tpl" in /var/www/... but it is there and always has been. Second, the mail template uses a different coding for some reason. Could you help me with that? |
Re: Review Reminder Email
One final question is that can I set the reviews.php page to nofollow to avoid SEO duplicate content?
John |
Re: Review Reminder Email
Quote:
If TEST_MODE is 'true' then database is not updated. If TEST_MODE is 'false' then database will be updated with 'Y' in 'xcart_orders' table. But you can delete these updates with the following SQL-queries: PHP Code:
As you can see both queries are without any conditions, so ALL reminders that were sent earlier will be deleted. Be careful, use it on the test store only please. --- Quote:
I suggest to compare reminder template with another one. As example with customer registration notification ('signin_notification.tpl') template, because it also includes 'salutation.tpl'. And also check that customer registration notification email is correct. May be it's the common issue? But unfortunately I can't say more exactly what is wrong. It will be better if you contact with our support team via helpdesk, they will be glad to help you. |
Re: Review Reminder Email
Quote:
John, there is no such configuration setting. The link to 'reviews.php' is in the 'skin/common_files/modules/Advanced_Customer_Reviews/customer_reviews_list.tpl' file, just add 'rel=■nofollow■' code: <a href="reviews.php" rel=■nofollow■>{$lng.lbl_acr_read_all_reviews}</a> |
Re: Review Reminder Email
Ok thanks a lot. Do you have an opinion on this? It seems like some of the reviews will be shown on 2 different pages the way it is configured and Google will probably see it as duplicates.
|
Re: Review Reminder Email
Thanks Karina again. I managed to get it going with your fixes.
I know it does not insert an Y in test mode - the problem was it did not want to do anything in real mode either. Now it does. But it still does not want to see any language variables nor include any mail templates. (Mail templates are original and I checked them for errors - seem ok) I managed to do it by hard writing text into mail templates and copying all included files (like mail_header.tpl and others). Maybe it is because I ran it from the top? But it is suggested in x-cart manual. Maybe it has something to do with permissions? But it is a bit, well... suprising - it is a fresh installation of 4.5.3 updated to 4.5.4 on Apache server, php 5.2.13. Should work out of the box. But anyway thanks for your time again. |
Re: Review Reminder Email
Quote:
|
Re: Review Reminder Email
I am currently testing ACR and have uncommented the two lines of code in send_review_reminders.php to put the module into test mode and then have invoked the file by entering the URL in the address bar of my browser using the following syntax:
{rootURL}/send_review_reminders.php?key="key value" My first reaction is the lack of feedback when I invoke the file - the page goes blank without any comfort messages reported. Is that correct behaviour? Then I don't recieve any review reminder emails. I assume there have to be orders that are set to dispatched for this module to function, in which case is it possible to set the "Send review reminder to customer in N days" to zero to send the reminder to orders that have only just been set to dispatched? |
Re: Review Reminder Email
The result page should not go blank. You should get something like :"x orders checked, x remainders sent".
In my case the above message was displayed but nothing was sent. The second fix Karina posted worked for me. |
Re: Review Reminder Email
Thanks for the feedback. I'll give Karina's 2nd fix a go.
|
Re: Review Reminder Email
I'm having no success invoking {rootURL}/send_review_reminders.php?key="key value"
in Test Mode. The instructions are straight forward so I'm sure I've not done anything wrong BUT when I type the command in the browser address bar nothing happens: I do not see "x orders checked, x remainders sent" etc just a blank page. Just to be clear I have uncommented out the two lines in send_review_reminders.php so that it reads PHP Code:
and I invoke the file by entering {rootURL}/send_review_reminders.php?key="key value" into the address bar of my browser. Any suggestions please? |
Re: Review Reminder Email
I've been stepping through the code and "re-discovered" that when you store a URL in a Microsoft document, such as Outlook mail, it inserts a space character just before the key string!!
That was my problem, the URL I was copying from a draft email and pasting into the address bar had a superfluous space character inserted before the key. Well, there we go. |
Re: Review Reminder Email
Within the review reminder email I'd like to include the customer's email address in the link to the add_review.php page so that as well as automatically adding their name to the author field it will add their email address to the email address field for them.
Does anybody see a way of doing this? |
Re: Review Reminder Email
Quote:
I solved this by using the mod, "Remember Me" by WCM http://www.websitecm.com/x-cart-mods/remember-me.html If a customer is logged in, then the fields on the write review page will automatically fill using this code (not sure if I added it or if it's stock): file: /common_files/modules/Advanced_Customer_Reviews/customer_add_review.tpl Code:
<input type="text" name="review[author]" id="author" value="{if $login ne ''}{$fullname}{elseif $stored_review.author}{$stored_review.author|escape}{/if}" size="40" /> (see the {if $login ne ''}, etc....) and: Code:
<input type="text" class="input-email" name="review[email]" id="email" value="{if $login ne ''}{$login}{else $stored_review.email|escape}{/if}" size="40" /> If the customer is not logged in, I'm having a hard time justifying the expectation of pre-populating form fields. Does this work better for you? |
Re: Review Reminder Email
In Test Mode emails are being sent for orders that failed, not finished, payment authorised and awaiting payment yet in the settings "Send review reminder to customer (if order is completed) " is set true?
Not only that but customers that had multiple not finished orders have recieved a review request for each incomplete order! Has anyone else had this? |
Re: Review Reminder Email
This is very odd behaviour indeed. Of the 148 orders that were checked to see if a reminder should be emailed to the customer their status was as follows:
8 Awaiting Payment 12 Not Finished 8 Failed 1 Cancelled 60 Dispatched 59 Payment Authorised. Except for 1 Not Finished and 1 payment Authorised ALL orders were sent an email. |
Re: Review Reminder Email
Well, apparently the odd behaviour I witnessed is exactly what Test mode is meant to do - it simply provides you with a method of testing the format of the email sent, which I guess is fair enough. Would have been more reassuring to have it run the algorithm that determines who gets a reminder.
|
Re: Review Reminder Email
Now that I'm out of test mode I've experienced the following SQL error:
Remote IP :Does anyone have any ideas please? Since I have not modified the code I didn't expect to see SQL errors. |
Re: Review Reminder Email
What can I say? I changed the "Send review reminder to customer in N days " from 9 to 3 and the SQL errors went away.
|
Re: Review Reminder Email
Quote:
In the test mode the order status is not taken into account. Quote:
I've added the new condition for test mode: TEST_EMAIL is required now if TEST_MODE is TRUE. If TEST_EMAIL is empty then review reminders will not be sent at all. It will be in the updated version of the module. In this case store owner/developer can specify his/her own email for testing purpose and get test review reminders. Quote:
It seems that $sql_tbl array is not defined for some reason. There are two functions for review reminder in the 'modules/Advanced_Customer_Reviews/func.php' file: func_acr_send_review_reminder() func_acr_send_review_reminders() Both of them should contain part of code like this: PHP Code:
Could you please check your file and check if global definition of $sql_tbl is there? |
Re: Review Reminder Email
Quote:
Quote:
This SQL error should not be connected with the "Send review reminder to customer in N days " setting. I've failed to reproduce the same SQL error. However I've investigated this issue and found another possible reason. Please check your '<xcart_dir>/send_review_reminders.php' file and found this part of code: PHP Code:
and replace it with: PHP Code:
|
Re: Review Reminder Email
Quote:
Hi Karina, Is this an edit you recommend to all ACR installs? Or is this something only needed for stores with more than one language? Thanks for clarifying and thanks for the constant monitoring and improvements of ACR. Jeremy |
Re: Review Reminder Email
Quote:
Jeremy, yes, it's better to apply this fix to all ACR installs. More information: I failed to reproduce the SQL error from DavyMac post, but I've faced with another small issue: wrong encoding of review reminder subject line. I've fixed it with the code from my previous post. And I guess my issue and issue from DavyMac post are connected. This issue is actual for module versions for X-Cart v4.5.3, 4.5.4, 4.5.5 only. |
Re: Review Reminder Email
Hi Karina,
I've checked the functions that you identified in post #27 and in both the $sql_tbl array has been defined. I've also added the require get_language.php mod that you have prescribed and still get the SQL error if the interval is set for 9 days, but I know this change was required for the subject line fault, which I had noticed in customers' emails that had been rejected by their mail service and bounced back to me. Just an observation: Running send_review_reminders.php with the above mod found 487 emails to send that were not found yesterday!! Would you have expected this or should I take a closer look at my SQL problem? |
Re: Review Reminder Email
Here is an example of what the subject line looks like thanks to a customer using a waitlist:
Quote:
This was generated after I had included the above mod. |
Re: Review Reminder Email
Quote:
Below is investigation about possible reason of SQL error. 1. The mentioned SQL-error is from include/func/func.order.php, 3144: SQL query : SELECT product, descr, fulldescr FROM WHERE productid = '2404' LIMIT 1 /home/xxx/public_html/include/func/func.order.php:3144 Let's have a look at this line of code: PHP Code:
This is the 'func_translate_products()' function. It's used for every type of emails to customer in X-Cart. 2. From SQL error we can make a conclusion that '$sql_tbl['products_lng_' . $code]' is not set. It means that $code contains some language code that is not presented in the store. The $code is taken from 'language' column of 'xcart_orders' table. So the possible reason is: there are some orders with language that don't have assosiated tables in database. But I cannot say exactly why. May be there was some language and later it was removed? Check your 'xcart_orders' table with MySQL query: Code:
select distinct(language) from xcart_orders; Code:
show tables like 'xcart_products_lng_%' ; Quote:
I'm not sure that SQL-error and number of emails are connected. It can be caused by the limitation in the 'send_review_reminders.php': PHP Code:
|
Re: Review Reminder Email
Hi Karina, I think you've solved my problem :D/
The xcart_orders table had a mix of languages, 'en' and 'US' - and for us the correct language is 'en', for which we have products_lng_en table but we don't have a 'products_lng_US table. Clearly the mix-up occurred during database upgrade and syncing because new orders since going live have language = 'en'. It all makes perfect sense, because when I set the delay period to 3 days I set the first order number to be since the upgraded site went live, so language would have been 'en' and no SQL error raised. So you are right that 9 days or 3 days made no difference. When I used 9 days I set first order to be from the "old" site. I shall update the xcart_orders table to set all orders to 'en' and report back. At the risk of being premature - thank you very much :D I hear what you say about only 500 orders being checked at a time - that's good. |
Re: Review Reminder Email
Karina,
Updating my xcart_orders.language column has fixed my SQL error. Thank you. But, I'm still not seeing a sensible subject line in the outgoing email reminder, I'm seeing things like: Subject:=?UTF-8?B?RGVhciBUcmFjeSwgeW91ciBvcGluaW9uIG1hdHRlcnMgdG 8gRGFuY2VtYW5pYSBEYW5jZXdlYXI=?= |
Re: Review Reminder Email
Quote:
Please check your file 'modules/Advanced_Customer_Reviews/func.php'. There is the function func_acr_send_review_reminder(). Two global variables are responsible for right encoding, $to_customer and $all_languages. These variables should be presented in the function. Please, check if they are there. The code is below: PHP Code:
Let me know about results. |
Re: Review Reminder Email
Hi Karina,
No, they are both abscent: $to_customer, $all_languages are not declared as global. |
Re: Review Reminder Email
Quote:
Karina, FYI, this is absent from my installation as well. My ACR came with 4.5.4 gold plus distribution. I can confirm that the file that came in 4.5.4 goldplus, looks like this: line 467 PHP Code:
But I don't think I am having the same problem. At least my customers have not said anything and I am sending many review reminders daily. I don't recall seeing this issue during testing. ??? |
Re: Review Reminder Email
Karina,
I added $to_customer and $all_languages to the Global declarations and the subject line is still not correct. Interestingly, when in Test Mode the subject is correct. |
Re: Review Reminder Email
To summarize up:
================= "How to fix wrong encoding in review reminder email?" 1. Open your '<xcart_dir>/send_review_reminders.php' file and found this part of code: PHP Code:
and replace it with: PHP Code:
2. Open your '<xcart_dir>/modules/Advanced_Customer_Reviews/func.php' file and found this part of code: PHP Code:
and replace it with: PHP Code:
3. In the '<xcart_dir>/modules/Advanced_Customer_Reviews/func.php' file found this part of code: PHP Code:
and replace it with: PHP Code:
================= |
All times are GMT -8. The time now is 04:28 AM. |
Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.