VirtueMart order confirmation page error after Joomla 3.5.1 update and solution
Moderator
Topic Author
Joined on: 07 Feb 2012
Posts: 25647
Thanks: 4073
Kolkata, India
Joomla! 3.5.1 was released yesterday. I am sure, many of you have already updated to your site to the latest version. If you have not done it yet then you are probably planning to update very soon. Those who have already updated to Joomla! 3.5.1 and using VirtueMart 3, are expected to get PHP fatal error page on order confirmation page. This error is generated due to certain changes in Joomla! mailer library (JMail) in Joomla! 3.5.1. You may be thinking this is a VirtueMart bug but it is not. It just need an update as per the recent changes in Joomla.
Till the time the VirtueMart update is released you can make the following changes in your site to avoid this error.
Open components/com_virtuemart/helpers/shopfunctionsf.php
Find the following codes between lines 654 to 674:
Replace above by:
Save the file and you are done.
I hope this will help you.
Till the time the VirtueMart update is released you can make the following changes in your site to avoid this error.
Open components/com_virtuemart/helpers/shopfunctionsf.php
Find the following codes between lines 654 to 674:
if(!$noVendorMail) {
$replyTo[0] = $view->vendorEmail;
$replyTo[1] = $view->vendor->vendor_name;
$mailer->addReplyTo( $replyTo );
} else {
if(isset($view->orderDetails['details']) and isset($view->orderDetails['details']['BT'])){
$replyTo[0] = $view->orderDetails['details']['BT']->email;
$replyTo[1] = $view->orderDetails['details']['BT']->first_name.' '.$view->orderDetails['details']['BT']->last_name;
} else {
if (isset($view->user->email) and $view->user->name) {
$replyTo[0] = $view->user->email;
$replyTo[1] = $view->user->name;
} else {
$replyTo[0] = $view->user['email'];
$replyTo[1] = $view->user['name'];
}
}
$mailer->addReplyTo( $replyTo );
}
Replace above by:
$replyTo = array();
$replyToName = array();
if(!$noVendorMail) {
$replyTo[0] = $view->vendorEmail;
$replyToName[0] = $view->vendor->vendor_name;
} else {
if(isset($view->orderDetails['details']) && isset($view->orderDetails['details']['BT'])) {
$replyTo[0] = $view->orderDetails['details']['BT']->email;
$replyToName[0] = $view->orderDetails['details']['BT']->first_name . ' ' . $view->orderDetails['details']['BT']->last_name;
} else {
if(isset($view->user->email) && $view->user->name) {
$replyTo[0] = $view->user->email;
$replyToName[0] = $view->user->name;
} else {
$replyTo[0] = $view->user['email'];
$replyToName[0] = $view->user['name'];
}
}
}
if(count($replyTo)) {
if(version_compare(JVERSION, '3.5', 'ge')) {
$mailer->addReplyTo($replyTo, $replyToName);
} else {
$replyTo[1] = $replyToName[0];
$mailer->addReplyTo($replyTo);
}
}
Save the file and you are done.
I hope this will help you.
Post your reviews about us on our Facebook Page.
Post your testimonials and suggestions Here.
Don't forget to Close your topic when resolved.
Post your testimonials and suggestions Here.
Don't forget to Close your topic when resolved.
The following users say thank you to Jumbo for this post: , juanki, astreatiche
The administrator has disabled public write access.
Fri May 20, 2016 3:15 pm
#2