Diseño y Posicionamiento Web con Joomla › Foros › Componentes Especiales › Virtuemart › Error 0 al finalizar compra
- Este debate tiene 5 respuestas, 3 mensajes y ha sido actualizado por última vez el hace 8 años, 8 meses por Alejandro.
-
AutorEntradas
-
-
10/04/2016 a las 21:24 #115345VictoriaParticipante
Hola, estoy teniendo problemas con mi virtuemart 3. Los clientes no terminan de finalizar compra y cuando llegan los pedidos vienen sin nombre.
Procesas el pedido y salta un ERROR 0 Se ha producido un error mientras se procesaba su solicitud.
El tema es bastante serio, ya que no puedo vender y me esta afectando bastante.
Gracias anticipadas.
-
11/04/2016 a las 12:08 #115348Moderador ForoParticipante
¿Que versión de joomla tienes funcionando y versión de virtuemart?
-
11/04/2016 a las 18:48 #115354VictoriaParticipante
VM 2.0.12 y joomla 3.5.1. Actualize la semana pasada.
Disculpar por haber tardado en contestar.
-
11/04/2016 a las 23:20 #115360Moderador ForoParticipante
Bien, no te preocupes, y tampoco he podido contestarte antes por este mismo problema que estas teniendo, ya que llevo todo el día atendiendo a clientes de contrato de mantenimiento, resolviendo este tema.
¿Que tienes que hacer para resolver el problema?
Accede con tu cliente FTP a /components/com_virtuemart/helpers/ y edita el archivo shopfunctionsf.php.Sobre la linea 638 aproximadamente hasta la 655, veras el siguiente código:
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 );
}
Y lo tienes que remplazar con el siguiente:
$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);
}
}
Guarda y refresca la cache si la tienes activada y prueba de nuevo, y me cuentas.
Es una modificación necesaria por un cambio reciente en joomla. De hecho, si miras las entradas recientes del foro, veras que otros, por ejemplo BreezingForms, tambien tienen problemas desde que actualziaron con joomla 3.5.1.
-
12/04/2016 a las 02:34 #115363VictoriaParticipante
Tema solucionado.
Entonces, por lo que dices, se tiene que haber montado una buena en estos días con las actualizaciones.
Mil Gracias.
-
14/04/2016 a las 16:56 #115383AlejandroParticipante
Salvados por la campana 🙂 . Gracias.
-
-
AutorEntradas
- Debes estar registrado para responder a este debate.