Magento Free Extension

Magento Get Customer Feedback, Reviews & Ratings FREE Extension

created November 25, 2011, last updated May 31, 2017.

.
closeThis post was last updated 12 years 3 months 27 days ago, some of the information contained here may no longer be actual and any referenced software versions may have been updated!

Products with good customer ratings and reviews improve Google search results and give customers more buying confidence but how do we encourage customers to complete product reviews?

This Magento module helps to get more Magento customer product feedback by giving customers the opportunity and incentives to complete reviews and ratings for products they have recently purchased.

HOW IT WORKS

The code in the module is called at checkout caching customer information and products ordered. The module then uses the Magento scheduling system to execute code that regularly checks the cached files to create a customised customer feedback email containing direct links to the review pages of the products the customer has ordered.

When configurable parameters, such as order status, or elapsed time since the order was placed are met the email is sent to the customer and the order status updated.

The customer feedback email allows you to directly follow up every customer order and offer incentives to the customer to complete product reviews and ratings. An example email is shown below.

Example Magento Get Customer Feedback Email

 

Customer Feedback Order Status
Example of updated Magento order status showing customer feedback email has been sent.

 

Tested with Magento CE 1.3-1.9.x

GIT – https://github.com/gaiterjones/magento-GetCustomerFeedback note – the latest code will always be available at the git hub for download.

Place an order in my development store to test the customer feedback email yourself.

Updates

This module was originally coded in 2013. I updated it in 2017 with some bug fixes, better translation options and a new responsive email template.INSTALLATION

Prerequisites : PHP5.4+, Working Magento scheduling system, Magento CE 1.x

To install this module:

Modman

modman clone https://github.com/gaiterjones/magento-GetCustomerFeedback.git

Manual

1. Unzip the module and copy the contents of the modules app folder to the app folder of your Magento store installation.

2. Ensure that the module /cache folder has write permission set to allow the WWW user group write access. The module caches customer and product information in this folder.

3. Refresh the Magento Store cache

4. Logout and login back into the admin backend, goto System – Configuration and locate the configuration settings under My Extensions – Get Customer Feedback.

CONFIGURATION

Email body content:

Enter the text that will form the main body of the customer email here, this text appears before the product information. You may use HTML.

For example for the offer shown in the example above I used the following HTML, remember you should replace special characters with html entities.:

<p align="center"><img src="/images/articles/comp_win50.jpg" width="650" height="130" align="middle" /></p>
<p align="left">Thankyou for your recent order, we hope you are very happy with your products. We value your opinion so simply tell us what you think about your purchases and you could win £50 to spend with us.</p>

Email footer content:

Enter the text that will form the footer of the customer email here, this text appears below the product information. You may use HTML.

Email subject:

Enter a custom subject for the feedback email, if left blank subject is “STORENAME : Your Order # ORDERNUMBER”.

Leave feedback icon URL:

To specify your own Get Feedback icon image in the customer feedback email enter the image URL here. If no image url is specified the text “Leave Feedback” will be used.

Send feedback request email :

Specify when the email should be sent, immediately after the order completion or after a specific period of time to allow the customer time to receive the products and form an opinion. When order status check is set to YES, email will be sent X days after order status is set to complete.

Check order status: YES/NO

To only send customer feedback emails when the order status is “Complete” set this field to YES.

Test mode enabled: YES/NO

In test mode customer feedback emails are sent to the general email address of your store and not to the customer. When you are happy that the emails are formatted correctly set this option to NO and emails will be sent to the customer. Test mode is enabled by default.

To test your email and cron settings rename the test email file in the cache folder to GetCustomerFeedback.emailtest

The module will now send a test email to the general store address every time the cron scheduler runs. Delete or rename this file to stop the test emails.

Use PHP email

Send customer feedback emails using the Magento email system or directly via PHP. To BCC feedback emails use PHP email mode.

To test that you are receiving emails from the module rename the file GetCustomerFeedback.emailtestOFF in the cache folder removing the word OFF from the end. The module will send you an email every time the Magento cron.php runs. Note the default cron task is set to once per hour, you can manually change this in the module config files to a shorter period for testing if required. If you receive the test email you know the module cron task is running and email is functioning. Rename the control file again to turn off the test emails.

URL Tracking tags:

Specify Google UTM tags here to track traffic generated by customer feedback emails.

Send alert emails: YES/NO

The module will send alert emails to the general email address of the store when errors are detected, enable this option during testing and disable afterwards when the module is functioning correctly.

Edit Locale Files for Translations
In the root folder of the extension is an example locale file named translation_store_id_1.txt this will be used to translate phrases used by the extension that cannot be set in admin. If you have a multi language store a translation file should exist here for each store, i.e. if your store ID 1 is French and store ID2 is German then your translation_store_id_1.txt file should contain English to French translations and you should create a second file called translation_store_id_2.txt containing English to German translations.

 

ENABLE MAGENTO SCHEDULING

Magento uses a single file named cron.php to execute all its scheduled tasks –  cron.php should be executed regularly to allow configured background tasks in Magento to run and is also used by this module. For example to run cron.php every 5 minutes add the following or similar to your crontab (crontab -e):

*/5 * * * * /usr/bin/php -f  /PATH-TO-MAGENTO/cron.php

Alternatively for testing you can execute cron.php from your browser by browsing to

http://www.yourstore.com/cron.php

When you manually execute the cron job you may want to change the configured cron schedule from every hour to every minute by editing the config.xml module file otherwise your manual cron job will only run once per hour.

Comments

  1. Elvar says:

    Hello.. first of all – thank you very much for this one. I just downloaded and took a peek on the code.

    It seems to me that it will not be so hard to add one feature:
    – INIT SENDING – which will only once make a emails to all PREVIOUS orders

    What it needs to be done is:
    – add in mysql and admin one attribute – INIT sending True/False
    – disable that attribute once when app already send first real email (no matter if this was INIT emails or later email)
    – in Observer.php file add a logic for:

    $orderId = Mage::getSingleton(‘checkout/session’)->getLastOrderId();

    and use foreach order loop. You already have the unique mechanism
    $feedbackProductIDs = array_unique($feedbackProductIDs);

    so there is no need for additional checks. The only check is that new admin attribute Yes/No and global parametar which defines init sending finished.

    I will try to make that and wanted just to let you know. I think this is really really good feature for it!

    • PAJ says:

      Do you mean it will extract products from all previous orders and use them for the feedback email? Sounds interesting what if there are hundreds of orders? need to set some limits, let me know how you get on! Also I have an update coming for this script I think it is now at version .19 this includes a control to limit the number of items in the feedback email.

  2. Elvar says:

    Yes – extract products from all previous orders.

    Limit of the products review action in emails – very needed.

    There can be a hundred of orders from ONE customer but probably he is always buying the same products…

    Can I wait a little for your latest file and then try to continue?

  3. fritzelly says:

    This has turned out to be quite easy to put together.
    I have the script to pull all completed orders from the db – need to add a column to the db to flag orders that have been emailed (easy enough to do)
    Have the script to pull the order information (clicking a link from the previous script) – with a very basic output that just needs to be placed into an html format.

    The only thing I have no idea about is pulling this altogether into a Magento module

    • fritzelly says:

      Have to go to bed now but you can take a quick look at it
      http://www.primal-desires.com/listorders.php
      on the final page it will say Message delivery failed… just add your email address to the address bar and enter and you should get the email.
      I’ve cannabilised some of Paj’s code for the email
      But thats the basics of it, just needs to be implemented within Magento directly and the db field indicating an email has been sent

      • fritzelly says:

        The orders are real but the customer details chopped for security and some of the product pages no longer exist so you will get a 404 following the review link as these are all old orders

  4. Carlos says:

    Hello, I have installed the extension version 0.19 and configured it properly, but I can’t receive any emails from it. I have configured correctly the Magento Scheduling system (I have other extensions running with it), so, I don’t know where the error could be..

    • PAJ says:

      Can you see files being created in the extensions /cache folder after you have placed an order? Have you checked that the /cache folder is writeable.

      • Carlos says:

        Hello PAJ, I have verified the /cache at the app/code/local/PAJ/GetCustomerFeedback folder and I have put it with 777. Now it’s writable and I see 2 files created for each order. But I have not received any emails yet. I have configured it to no verify the order state and to send the email inmediately after the order..I have make some orders and put them in different states.. Anything else to review?

      • PAJ says:

        Glad its working, remember to check your spam folder for emails from the module, and that the scheduled Magento task that creates the feedback emails runs by default only once an hour. Look forward to hearing your comments.

  5. Elvar says:

    Sorry guys I had too much other work… Now I see that Fritzerly made something but it is not available to download (although is referencing web shop hard not to look at)

    Can I get the modified code to check also?

    • PAJ says:

      After installing the extension, refresh the cache in admin, then log out and back in again. You should then be able to see the extension config page.

  6. Vpas says:

    I ve installed extension on a 1.3.2.4 ver. Extension seems to incorporate well.
    Cache folder produces 2 files for every order but i am not able to receive any emails. Anyone has a tip to give? Anyone has a proved working setting?
    Thank you

    • PAJ says:

      Is your magento cron job running? cron.php needs to be executed to run the scheduled task that creates and sends the product emails. You can run this manually by browsing to http://yourstoreaddress/cron.php where “yourstoreaddress” is the internet address of your magento store. By default its scheduled to deliver every hour, you can increase this for testing by editing the config files if required. Try that and you should receive the emails. I have only tested the extension on 1.3.3 and above so let me know how you get on.

      • Vpas says:

        My cron runs ok. I have 1 html and 1 dat file for every order with all the usefull info needed for the email to be created. But no email. The only thing is that i ve testing it for the last half an hour. So i will wait an hour and then try to search the code.

  7. Paul says:

    Emails are being sent however they do not contain any content. I have entered code in the Email body Content field but this is not being delivered on the emails.

    Any help would be appreciated.

  8. I installed the extension and made sure the cron job is running. The extension generates two files in the /cache folder but does not send out emails.

    My stores ID are en and de so I changed the language files to translate_store_en.txt and de. Is there anything else that can be wrong?

    And actually I didn’t receive the mail from your demo store either, but nothing is trapped in my spam filter – I tried different email adresses.

    • PAJ says:

      I just made a test order from my dev site and the marketing email came through ok – see below, seems like your email got lost in the ether somewhere.

      If the files in the cached folder do not disappear then there is a problem with the cron side of the script, either your cron job is not running or the cron schedule has not been registered in Magento. Make sure you have refreshed your Magento configuration cache after installation.

      You can manually run the Magento cron from the command line, or use your browser by going to the address of your magento shop with /cron.php at the end. The cron task runs once an hour, so messages should be delivered on or after the first hour after the order was placed. You can edit the cron schedule in the config file of the module to reduce this interval for testing if you with.

      What version of Magento are you using?

      • Sebastian says:

        Thanks for the quick reply. I search my mail account again after you forwarded the email from the dev site. I still haven’t received it myself and I ordered twice(?)

        I’m running 1.6.2. The cron job is running. I inserted a script in cron.php that creates a log entry every time it runs, which is every 15 min. How do you check if the cron schedule has been registered?

  9. Andy says:

    This is the error I get when going to the config page Fatal error: Class ‘PAJ_GetCustomerFeedback_Helper_Data’ not found in /****/*****/public_html/app/Mage.php on line 546 I have refreshed cache, logged in and out

  10. Paul says:

    Same here, cronjob working, files created in Cache, but no email.
    Placed several orders yesterday, but still nothing.
    Also placed a testorder in your developer store yesterday, but never received an email?

    • PAJ says:

      Hi Paul, the emails are triggered via the scheduling system in Magento. The scheduling system is controlled by cron.php in the root of your magento installation. This must be ran via a cron job, perhaps every 10 or 15 mins. The emails are sent once per hour. Make sure cron.php is running properly or run it manually yourself either from the command line or your web browser.

      • Paul says:

        Hi PAJ,
        Cron is working fine, but still no e-mails.
        These are generated thought in cache.

        I never received an e-mail from your test shop either.

        Paul

  11. Paul says:

    Hi Peter,

    I tried to reply to your e-mail, but i keep getting errors:

    # #SMTP#

    I did place an order as a registred customer and did receive an email from your shop.
    Looks good, hope to get i to work in mine 😉

    Paul

  12. Larry says:

    Hi PAJ,
    Thanks for the extension been looking for this for a while. I got a question about extending the time frame when to send the email. As I see you do allow up to 7 days, would it be possible to make it longer? Perhaps 30 days.

    • PAJ says:

      Yes this is easy to do, if you look in PAJ/GetCustomerFeedback/Adminhtml/Model/System/config/Source/Elapsedtimefromorder.php you will see the array that creates the drop down box used in admin, change the value here to whatever you want, i.e. change 7 to 30 to extend the waiting period to 30 days.

  13. Zuiko says:

    Hi PAJ,
    thank you for this useful extension, I tried it and it works fine.
    I found only some defence issues. I fixed some but I did’nt find the last one:
    – the issue comes in correlation with an other extension able to delete some orders (useful for testing orders on live site).
    – if you have a first test order on which your cron task passed, so you got 2 corresponding files in the cache (.dat and .html).
    – with the deleting previous extension, you delete this order before sending the message to the customer (without deleting the previous files).
    – then you get an other good order…
    – when your extension cron job want to work, I got this php error :
    Fatal error: Call to a member function getMethodInstance() on a non-object in /var/www/a-et-a.com/boutiques/app/code/core/Mage/Payment/Model/Observer.php on line 46
    and the job has to wait php time out…
    I think it’s quite easy to simulate and works each time.

    I did’nt find what to do to fix this because on line 46 I can find just:
    public function GetCustomerFeedback()

    The other things concerning the defence are localized in public function GetCustomerFeedbackCron()
    After $order = Mage::getModel(‘sales/order’)->load(trim($orderData[5]));
    I would propose by precaution to add an exceptio like:
    if (!$order->getEntityId()) {throw new Exception(GetCustomerFeedbackCron Execution impossible non existing order number: ‘.$orderData[0].’ eraser file: ‘.$newestOrderFile.’ and its brother in .html’);}

    I think it could be useful to have the same style of defense for the following exception tests:
    if (empty($orderStatus))
    and
    if ($oMail->send())

    to be able to repare the cache easily.

    Thank you for your future answer.

    • PAJ says:

      I do remember being cautious and preferring to do all the processing of the customer email via the cron function so that there was no chance that an error could cause an order to fail if we tried to do everything when the order was processed. I agree there are a lot of improvements. One thing I did note regarding cancelled orders is that there is a setting to only send the email when the order is has a status of complete. I haven’t tested this but I assume that if the order has a status of cancelled and the module is only configured to send on a complete status that the email would not be sent. As you point out this would result in files being left behind that should at some point be cleared out….

      thanks for your suggestions.

  14. Zuiko says:

    Another little thing:

    – do you not think that it could be good to flush cancelled order files from the cache? It seems, currently, to not be the case…

  15. Jim says:

    Okay…I finally got this working on 1.7.0.2
    Had to read through the code to realize that product visibility must be set to 4 (visible in search and catalog). I had a test product that was only visible in search, so the email sent fine – it just didn’t include the product details in the body. Now, it works great! thanks!

  16. Zuiko says:

    Finally, I preferred to built a loop at the beginning of
    public function GetCustomerFeedbackCron() in Observer.php
    dedicated to clean the cache folder from unknown or canceled order files.
    The other part treats, after that, the first correct file as the original one.

    Thanks for this great idea .

    • PAJ says:

      I haven’t worked on this module for a while, so all your ideas sound good to me and I would be happy to include any changes you have made in a new version of the module.

      • Zuiko says:

        I fixed an other little bug in Observer.php:
        At the bottom of the mail sent to the customer, the link, for me is wrong and goes to the admin of the shop…
        So I replaced
        Mage::helper(‘core/url’)->getHomeUrl()
        by
        Mage::getBaseUrl(Mage_Core_Model_Store:: URL_TYPE_WEB)
        on the code.

  17. Zuiko says:

    I would be glad to send you the Observer.php file, you can contact me by email because I’m not able to join a file to this answer via this blog.

  18. Jim says:

    I am not getting the BCCs at all. It may have to do with the fact that for some reason our server doesn’t like sending mails from/to the same domain, in certain situations. This appears to be one of them.

    It looks as if the emails are being sent to the customer (the order detail reflects that they are), but I never see a copy of them. I just looked at the cache directory, and there a number of dat and html files in there. Does that mean it sent them, or did not send them?

    Is it possible to hardcode a different address into the system, rather than the general store email address? I see where the variable is defined in observer.php – what would the syntax be to put a different address in there? Thanks for your help!

    • PAJ says:

      The cache folder should be empty, if the files are still there then the emails have not been sent yet. Yes you can hard code the bcc email address, you need to edit observer.php in paj/getcustomerfeedback/model/ remove line 345-349 and set the bcc variable with the address you want – i.e. $bcc=my@email.com;

      You need to check why feedback emails have not been sent, have you set a waiting period in your config for example.

      • Jim says:

        Cache folder only contains files that are less than 7 days old – which is what I have the send after period set to, so I think thats ok.

        I’m going to hardcode the email in now and we’ll see if it works! I’ll report back!
        thanks

  19. Jim says:

    getting an error with hardcode link: Parse error: syntax error, unexpected ‘@’ in /home/buysomeg/public_html/app/code/local/PAJ/GetCustomerFeedback/Model/Observer.php on line 353

    Line 353 looks like this: $bcc=email@website.com;

    I have added single quotes around it now, see if that works:
    $bcc=’email@website.com’;
    unless u have better idea.

    thanks!

  20. Jim says:

    PAJ _ thanks for the email. adding the single quotes has stopped the cron daemon from sending me the Parse Error emails mentioned above. Now, Im just waiting for a complete order to see if it emails bcc correctly. Thanks!

  21. Jim says:

    Yeah, things appear to be stuck in cache. The PAJ cron seems to be running fine…but no emails have been sent since the 27th, and orders have been completed since then.

  22. Jack says:

    Got it…installed it and it works fine on 1.7.0.2 It is only sending 1 email per hour when there are many in the cache folder. Does this sound right?

    • PAJ says:

      The cron job that sends the emails runs every hour so that is correct. But it should process all files that can be sent in the cached folder each hour.

    • PAJ says:

      P.S = there are always two files per email in the cache folder – i.e. 10 files in the folder = 5 emails to send…

      • Jack says:

        Yep, I see that there are two files, but there are still over 30 sets in the cache folder and I only get confirmation of 1 email sending per hour. It is going through all of them, but at this rate it will get backlogged very quickly.

  23. Hassan says:

    Dear PAJ !
    Hope you will be fine. There are several email who said that files are created in the cache folder but email not send.
    You always reply that issue with your scheduling but don’t tell you to configure?
    I just installed this extension nothing else have to do with it. what more steps to schedule the crone ?
    Secondly in ‘observer.php’ it uses
    require_once Mage::getModuleDir(”, ‘PAJ_GetCustomerFeedback’) . DS . ‘classes’. DS . ‘class.GetCustomerFeedback.Email.php’;
    but module diretory is first PAJ folder then ‘GetCustomerFeedback’ folder(in which code lies) is that issue to due to which emails not sent?

    • PAJ says:

      The module uses Magentos built in scheduling. I always assume you are already running the Magento cron.php file at regular intervals. This should be added to your Crontab to run perhaps every 10 or 15 minutes. It’s used to run all of Magentos scheduled tasks. You can also run it manually via your browser by navigating to your webshop URL and adding cron.php to the address i.e. http://www.myshop.com/cron.php this will manually run the scheduled tasks. Bear in mind my module is configured to run every hour. You can manually change this for testing by editing the module configuration files.

      Hope this helps.

      • Hassan says:

        Hi PAj !
        I had used all the mentioned scenarios which you had discussed earlier.
        http://www.myshop.com/cron.php this also tested.
        Also change to “*/5 * * * *” in config.xml
        but still not receiving the emil.
        Please guide me how I can debug this issue?

  24. Peter says:

    I’m having the same problem as described above by Jim. My cache is filled with over 50 emails (100 files), so it seems the extension does it job except it’s not sending the emails. Paj, do you have any idea what could be wrong here? I really like this extension and hope I can get it to work 100%!

    • PAJ says:

      Download the latest version and turn on the test feature to check if my code is working with your email system and that your cron job is running.

  25. Hassan says:

    Dear All !
    The issue with me was one case which was not covered is “Suspected fraud”.
    My first order was marked as suspected fraud. Due to which on every time when cron executed it never go in “complete” case and not send mail.
    so in the loop where canceled order handled if we add this condition on line No. 283 in observer.php file
    else if($orderStatus===”fraud”)
    {
    // clean up hassan suspected fraud order
    unlink($newestOrderFile);
    unlink(Mage::getModuleDir(”, ‘PAJ_GetCustomerFeedback’) . DS . ‘cache’. DS. trim($orderData[3]));
    }

    Then Fraud issue will also be resolved.

    Dear PaJ! please add this condition in the module version0.0.3

  26. Chris says:

    Has anyone solved the issue with getting no test emails? Cron is running. Trying to get emails since days.

    • PAJ says:

      To test that you are receiving emails from the module rename the file GetCustomerFeedback.emailtestOFF in the cache folder removing the word OFF from the end. The module will send you an email every time the Magento cron.php runs. Note the default cron task is set to once per hour, you can manually change this in the module config files to a shorter period for testing if required. If you receive the test email you know the module cron task is running and email is functioning. Rename the control file again to turn off the test emails.

  27. Jim says:

    PAJ – is 0.0.4 basically the observer.php file u sent me via email with the fraud status check added? The observer version u last sent to me works great for emailing customers now, although it still never bcc’s me on it.
    NOTE TO OTHERS- the bcc problem mentioned here has been discussed at length with Peter, and probably only exists on our system – due to a complex email scenario involving forwards and aliases. You shouldn’t have any problems with it.

  28. Hi, Ive just installed your addon which looks brilliant. Ive installed to our development site but im having a problem, As its a dev server im running it as a live sever, but i dont seem to be getting any emails. All our emails are send through a google apps email ( everything else is coming through fine) Cron is running and also manually tried cron. But im just not getting any emails from your addon, Any ideas?
    Many thanks

      • Mark Clift-Matthews says:

        Thank you for the prompt reply, Yes i have tried that and also checked cron is working. Its saving to the cache file but thats afar as it goes
        Regards

  29. Ryan Edge says:

    PAJ, I seem to be experiencing a bug with this in 1.7.0.2.

    Initally i had the same email issues as everyone else. I’m managed to get this working and they will go out every 10-15 minutes but it’s completely unpredictible. It seem’s to be a mix of the magento scheduler and the magento cron settings in the admin panel.

    The major problem i’m having is that the emails don’t come from a proper email address. They seem to be sent without any sender information. Oddly, they test email sends from the defined address as expected. Any idea’s why this might happen?

    • PAJ says:

      Have you installed the latest version from the github. I did find a bug recently with this where when using the Magento system to send emails the from address was not formatted correctly. Make sure you have the latest version and also change the admin option to use PHP to send the mails and try again. With the scheduling I don’t know of any problems, I will have to look into that a bit more.

      • Ryan Edge says:

        Thanks for the reply PAJ.

        Yes this is the latest version from GitHub today. I was literally just in the process of debugging the code to see whats going on, Thanks for replying so quickly!

  30. Ryan Edge says:

    Is this a typo in the code?
    Line 370: $from = Mage::getStoreConfig(‘trans_email/ident_sales/email’,$storeID);
    Line 371: $fromName = Mage::getStoreConfig(‘trans_email/ident_sales/name’,$storeID);

    Above you assign the variable $fromName & $from but then on line 636 you call the variables $_fromName & $_from ?

    • Ryan Edge says:

      Oops, that was silly of me. Completely the wrong part of code. Anyway, i hardcoded the email address and name and it works. Deffiantely something up with the value assigned to the var.

      • PAJ says:

        Yes the variables are named differently, but they are in seperate functions. I will look in to this some more but hardcoding the address is also a solution.

    • Ryan Edge says:

      After some further testing it doesn appear that your first response to switch to PHP Send mail also works. This also negated the BCC bug in MagentoMail function.
      Thank you for releasing this extension for free, it has a few niggles but overall i like it 🙂

  31. John Hazard says:

    Hi Guys,
    I am having a problem with the mails too. I am getting the Alerts using the Mage mail process so it must be functioning to some degree. But no mails to customers. In the Magento email log, it shows the alerts there too but nothing for the customers.

    This is the error message in the Alert email

    An error occurred trying to send customer feedback email, command : 100000542 erasing file: /mnt/mysite/htdocs/app/code/local/PAJ/GetCustomerFeedback/cache/GetCustomerFeedback1370525420.dat and associated .html file

    Any ideas?

    When I was testing I found it useful to run the cron job on demand. So I wrote this little script that will allow you to manually run the task that the cron job usually runs. This avoids any problems waiting from the cron.

    You may have to edit the path to the Mage.php file if this script is not in the website root folder. Call it what you like e.g. maybe “runGetCustomerFeedbackMailer.php”


    <?php

    ini_set('memory_limit','1024M');
    set_time_limit(0);

    error_reporting(E_ALL);
    ini_set('display_errors', 1);

    require_once 'app/Mage.php';
    umask(0);
    Mage::app();

    require_once (Mage::getModuleDir('local', 'PAJ_GetCustomerFeedback') . DS. 'Model' . DS . 'Observer.php');

    print "Running the Gaiter Jones getCustomerFeedback mailer process .....";

    $observer = new PAJ_GetCustomerFeedback_Model_Observer;

    $observer->GetCustomerFeedbackCron();

    print "Done";
    ?>

    John

      • John Hazard says:

        Hi Ryan,

        Yes that part is fine. File permissions are 777. The two files appear when an order is placed so the website can certainly write to the cache folder.

        John

      • John Hazard says:

        Hi Ryan,

        Just to be sure I ran a “CHMOD 777 cache/” command and it now seems to work. Fantastic!

        Thanks.

        John

    • PAJ says:

      777 is overkill, I would set the ownership of the folder to admin:www and use 775. (where admin is your admin account and www your www user acount).

  32. Zuiko says:

    Hello,
    if the backoffice shop setting is “add shopview code to the url”, then the product link transmitted to customer by mail is wrong. So I propose to change in Observer.php :
    line 189 and 191
    . Mage::getBaseUrl(Mage_Core_Model_Store:: URL_TYPE_WEB).
    by
    . Mage::app()->getStore($orderStoreID)->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK).

    $orderStoreID has been got at the beginning of Observer.php

  33. Peter says:

    Hello,
    It is a very nice extension. I’m testing it now and I get the emails.
    Still I don’t see in 75% of the testmails productimages. The logo en feedback button are always visible, but not always the product images.
    I have magento 1.5 en use the latest version of Get Customer Feedback
    I have no idea what to do. Anyone?
    Peter

  34. pakito says:

    Same problem with not getting any feedback email too..Only receive the test alert email though…very sad 🙁

    – I make sure the cache folder is 777
    – running the cron job manually via shell
    – config i set to send the email immediately after order
    – check order status = Yes (only complete order)
    – use PHP mail = Yes

    Did an ordering from my site and saw 2 files created in the cache folder which is correct. Then ran my cron job manually via shell. Only get “Test email from GetCustomerFeedback Module!”. No feedback email. The 2 files is still in the cache folder so something is wrong…

    • pakito says:

      Not sure why but i just received the email finally! Weird that I did set the cron job to run per 5 minutes in my cpanel. Then in my Magento i set my cron to “Generate Schedules Every 5”. Then I even manually run the cron.php via shell.

      Not sure why the delay??

    • PAJ says:

      Can you send me examples of the two cache files so I can check they are formatted correctly. Have you tried changing the mail option from Magento to PHP or vice versa?

      • james says:

        Hi PAJ,
        I implemented this extension for my site.
        everything is working fine but email is not send to general address or customer.
        It has been saved to cache folder.
        Could you give me some suggestion for it.
        Thanks….

  35. Ant says:

    Hi,

    I’m having the same issue as others here. I’ve tried every combination and yet I don’t get any review emails – only the plugin storing files in the cache. I don’t get any errors

  36. Bhupendra says:

    Hello PAJ,

    Email not receive.

    I installed the extension and made sure the cron job is running.
    I have verified the /cache at the app/code/local/PAJ/GetCustomerFeedback folder and I have put it with 777 and I see extension generates two files for each order in the /cache folder but does not send out emails.

    I have configured it to no verify the order state and to send the email immediately after the order..I have make some orders and put them in different states.. Anything else to review?

    I also check spam folder but email not receive.

  37. Zuiko says:

    Hello everybody, some years after…

    if someone have problems with special characters in customer name, or product name, be sure your server does not change its PHP version. The issue is around htmlentities in /app/code/local/PAJ/GetCustomerFeedback/Model/Observer.php.
    In fact if PHP is 5.4 htmlentities treats the string per default as utf-8 encoded.

    in Observer.php you can read :
    $cartProductName=utf8_decode($cartProduct->getName());
    After that $cartProductName contains a string ISO-8859-1 encoded.

    Some lines after you can read the preparation of the email content with product name :
    $cartHTML=$cartHTML. ”. htmlentities($cartProductName). ”. $newline;

    If you have special characters in $cartProductName , htmlentities($cartProductName) returns nothing because an utf-8 encoding is waited.
    For me the best solution is to change the 1st line in :
    $cartProductName=$cartProduct->getName();
    and code the 2nd with:
    htmlentities($cartProductName, ENT_QUOTES, “UTF-8″)
    adding arguments to htmlentities to manage surely its behaviour for all languages.

    You have to add also htmlentities around $customerName on this line:
    $greeting = ”. $this->getTranslation(‘Hello’,$storeID). ‘ ‘. $customerName. ‘,’;
    but do that like this to be sure:
    htmlentities($customerName, ENT_QUOTES, “UTF-8”)

    and modify these 2 lines in the same logic (utf8_decode not useful):
    $customerFirstName = strtolower(utf8_decode(Mage::getSingleton(‘customer/session’)->getCustomer()->getFirstname()));
    $customerLastName = strtolower(utf8_decode(Mage::getSingleton(‘customer/session’)->getCustomer()->getLastname()));

    as this:
    $customerFirstName = strtolower(Mage::getSingleton(‘customer/session’)->getCustomer()->getFirstname());
    $customerLastName = strtolower(Mage::getSingleton(‘customer/session’)->getCustomer()->getLastname());

    With these updates, this extension works perfectly now in french under a 5.5.37 PHP version server.

This site uses Akismet to reduce spam. Learn how your comment data is processed.