Soluzione errore VirtueMart in fase di conferma ordine: Error submitting registration form (registerCheckout). Reload the page and try again.
Chi utilizza VirtueMart 3, in fase di conferma ordine potrebbe visualizzare questo errore:
“Error submitting registration form (registerCheckout). Reload the page and try again.“
Potrebbe sembrare un bug VirtueMart, ma non lo è: l’errore viene generato a causa di alcuni cambiamenti in Joomla! 3.5.1., biblioteca mailerlibrary (JMail).
In attesa dell’aggiornamento VirtueMart, è possibile apportare le seguenti modifiche nel vostro sito per risolvere l’errore:
– aprire il file components/com_virtuemart/helpers/shopfunctionsf.php
– sostituire le righe di codice dalla 654 alla 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 );
}
con:
$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);
}
}
Salvare il file 🙂
Tratto dal forum di virtueplanet.com