Make Each Email Unique

Permalink
Hello,

I love Gmail's conversation view for most of my emails, so I do not want to turn this feature off. I don't like it, however, when it groups all my Contact Form emails from different customers together and when it groups all my Ecommerce Order Received emails together.

Until Google can offer a way to filter out certain types of emails to not be grouped together in a conversation... I need a way for Concrete to make each Contact Form email subject line unique and each Order Received email subject line unique. I'm not picky about how - a time stamp, the person's name, the order number, an auto-generated number. Just something to stop Google from "conversating" these two email types from the website.

If someone could do this for $60, that would be awesome. If it's a bigger job than that - we'll just stick with having to branch off the conversation by changing the subject line when we reply to customers.

Thanks so much!
Amanda

dbrimm
 
goutnet replied on at Permalink Reply
Since you paid for an eCommerce addon, you can file them a support request, I am sure they will be happy to answer your concern.

Nevertheless, I will be working in the next 3 or 4 months on an extension that should allow you to manage email templates (and then do that kind of stuff yourself).

If that can wait till that extension is written and accepted, you will have your answer.
dbrimm replied on at Permalink Reply
dbrimm
Ok, if I'm not able to find a solution before then, I'll keep a lookout for your add-on. I didn't feel it was appropriate to submit a support ticket since nothing's wrong with ecommerce - I just want it to do something a little fancier.

I'd still like to customize the subject lines for the emails coming from the Contact Us form on the website too.

Thanks for your reply!
dbrimm replied on at Permalink Reply
dbrimm
Thanks John Steelehttp://www.concrete5.org/profile/-/view/13433/... Was able to put a time stamp in the subject line of emails - works perfectly.
jasteele12 replied on at Permalink Reply
jasteele12
Thanks for the mention Amanda - it was a pleasure working with you, and I'm glad I could help!
rjdietz replied on at Permalink Reply
Hi John - I am trying to do the same thing as "dbrimm". I need to add a timestamp to my form emails subject line. I found the controller.php file and added the following:

$today = date("F j, Y, g:i a");

I found where the subject is set:

$mh->setSubject(t('%s Form Submission', $this->surveyName));

Now what I can't quite figure out how is how to modify this line so that it not only contains the form name but also the timestamp using the variable $today. I am not really a coder so I am struggling... I have tried a bunch of different ways but have not been successful.

Any help you can offer is greatly appreciated.

Russ
hereNT replied on at Permalink Best Answer Reply
hereNT
$mh->setSubject(t('%s Form Submission', $this->surveyName));

becomes

$mh->setSubject(t('%s Form Submission at %s', $this->surveyName, date('format_here', strtotime(now)));

Should be all you need to do. The t() function uses %s to designate a placeholder, each argument after that separated by a comma replaces them in order.
rjdietz replied on at Permalink Reply
That worked perfectly! Thank you so much for your help!

Russ
hereNT replied on at Permalink Reply
hereNT
No problem - glad you got it working :)
jasteele12 replied on at Permalink Reply
jasteele12
Glad you got it sorted, the solution I used was overriding the mail helper because she wanted it done for all emails sent to specific addresses.

FYI, hereNT is correct, although the strtotime() is not actually needed since date() defaults to the current system time:

$mh->setSubject(
  t('%s Form Submission at %s', $this->surveyName, date('F j, Y, g:i a')));


I'd still make sure you are doing it in an override, so that you don't lose your changes in an update.

John