Core-Commerce Receipt.php
Permalink$mh = Loader::helper('mail'); $htmlContent = '<img src="http://www.site.com/test/images/logo.jpg" alt="logo" /><br/>';//.... the rest of the html $mh->setBody(strip_tags($htmlContent)); $mh->setBodyHtml($htmlContent); // the rest of the $mh calls...
I'm trying to attach a logo to my receipt.php file with the code above.
This isn't throwing any errors but, I'm not seeing the logo I was hoping for. I double checked the link and I can see the logo in browser just fine. The source in my mail client isn't showing the img tag either. Even when I just put text in that code and take out the img html tag its not showing up.
Is it even possible to put a logo with the receipt?
Here is the whole thing. Thanks for the help. I really appreciate it!
<?php defined('C5_EXECUTE') or die(_("Access Denied.")); $mh = Loader::helper('mail'); $htmlContent = '<img src="http://www.site.com/test/images/logo.jpg" alt="logo" /><br/>testing1234<br/>';//.... the rest of the html $mh->setBody(strip_tags($htmlContent)); $mh->setBodyHtml($htmlContent); // the rest of the $mh calls... $body .= $blurb . "\n\n"; $body .= "========== ORDER INFORMATION ==========\n"; $body .= "Order ID: ".$orderID."\n"; $body .= "Total: ".$totalAmount."\n"; for ($i = 0; $i < count($products); $i++) { $body .= "Product #" . ($i+1) . ": " . $products[$i]['name']; if (count($products[$i]['attributes'])) { $body .= " (" . implode(",", $products[$i]['attributes']) . ")"; }
Viewing 15 lines of 62 lines. View entire code block.
Look for this code somewhere below what you posted:
If it's there, then your $htmlContent is just being overwritten with $body. The solution would be to replace your three lines with
$mh->setBody(strip_tags($body)); $mh->setBodyHtml($body);
If it's there, then your $htmlContent is just being overwritten with $body. The solution would be to replace your three lines with
$body .= "<img ... whatever /><br />"
That is showing the html but isn't showing the actual image. weird.
Does the receipt email even have an HTML version when you receive it? Maybe it's only sending out a text version...
My only advice is to look through the code below what you posted (or in other files if that's all there is).
My only advice is to look through the code below what you posted (or in other files if that's all there is).
Yea I don't think its possible. Its not working no matter what I do.
Right now I've moved on to the packages->core_commerce->libraries->payment->controller.php file.
I'm overriding this by putting it in the libraries->payment->controller.php file
In the function sendReceiptEmail I'm putting the following code (*see below)...
Its finding the logo but its not showing the rest of the message ( order ) in html. When I view the source of email the information comes through but I'm not seeing it unless I view the source code in my mail client.
Any thought on how to get the rest of the email to show up without having to view the source?
I'm overriding this by putting it in the libraries->payment->controller.php file
In the function sendReceiptEmail I'm putting the following code (*see below)...
Its finding the logo but its not showing the rest of the message ( order ) in html. When I view the source of email the information comes through but I'm not seeing it unless I view the source code in my mail client.
Any thought on how to get the rest of the email to show up without having to view the source?
protected function sendReceiptEmail($order, $data=null) { $mh = Loader::helper('mail'); $htmlContent = '<img src="http://www.site.com/test/images/logo.jpg" alt="logo" /><br/>'; $mh->setBody(strip_tags($htmlContent)); $mh->setBodyHtml($htmlContent); $pkg = Package::getByHandle('core_commerce'); $fromE = $pkg->config('EMAIL_RECEIPT_EMAIL'); $fromN = $pkg->config('EMAIL_RECEIPT_NAME'); if ($fromE != '') { $mh->from($fromE, $fromN); } $mh->to($order->getOrderEmail()); $this->setEmailData($mh, $order, $data); $blurb = $pkg->config('RECEIPT_EMAIL_BLURB'); if (empty($blurb)) {
Viewing 15 lines of 44 lines. View entire code block.
can you post the source of the email message? I'm guessing that there may be a problem in the markup that prevents part of the message from being displayed... a la:
<table> <tr><td>This table row would be displayed</td></tr> <tr <td>This table row would probably not be displayed</td></tr> </table>
Any success in modifying the email receipt? Getting it to show HTML? I'd be interested in learning about anything you've found out. Thanks!
Bryan,
Did you ever get this worked out? I have a client that wants to send a receipt that uses a logo and some font coloring...
Thanks,
Ryan Vars
Did you ever get this worked out? I have a client that wants to send a receipt that uses a logo and some font coloring...
Thanks,
Ryan Vars
Hi Ryan,
I found a person who made the changes to my files for me. I posted his contact and a review in this thread:http://www.concrete5.org/community/forums/jobs1/add-attributes-to-e...
Amanda
I found a person who made the changes to my files for me. I posted his contact and a review in this thread:http://www.concrete5.org/community/forums/jobs1/add-attributes-to-e...
Amanda
EDIT: (won't let me delete...)
wait, scratch that. I see you're just doing strip_tags on the plaintext version.
I'd have to see the whole code... my guess is that the receipt email is being generated somewhere else in the code.