Necesito ayuda urgente de la comunidad. Llevo 5 dias seguidos con esto y solo levantándo la vista del monitor para las necesidades primarias (comer, dormir algo, fumarme algo que me despeje :whistle: ...). El sitio web debería haber empezado a estar online el lunes y por el problema que tengo no se ha podido hacer. Espero que me podáis ayudar.
*Decir que ahora mismo se está realizando el traslado de una copia de dicha web a los servidores de webempresa y que con todo, voy a intentar solventarlo lo antes posible mientras el traslado se hace.
**AVISO, TENGO EL VISOR DE DEPURACIÓN DE VIRTUEMART ACTIVADO PARA VER QUÉ SE CUECE, QUE NADIE SE ASUSTE**
VAMOS CON LA SINTOMATOLOGÍA.
Tengo un website http://www.fresnogres.com/web realizado en Joomla! y bueno, como digo está casi terminado... le faltan pequeños flecos de estética por terminar pero lo GROSSO viene en el virtuemart. Realizo la compra de artículos, todo ok... voy a confirmar datos y en el paso 3 (forma de pago) ya me daba un error (daba porque mas o menos lo he solucionado):
Notice: Use of undefined constant PAYPAL_API_DIRECT_PAYMENT_ON - assumed 'PAYPAL_API_DIRECT_PAYMENT_ON' in /home/d445402/public_html/web/administrator/components/com_virtuemart/classes/ps_checkout.php on line 809
lo curioso es que en este paso sólo tengo activados pago contra-reembolso y transferencia bancaria, nada de paypal. De hecho lo que hice fué borrar todos los otros métodos de pago y como seguía saliendo, en el archivo ps_checkout.php que se menciona comenté esa linea (y aledañas) que menciona el script... y dejó de mostrarse.
En todo caso ese mensaje no impedía continuar, y de hecho este problema me surgió después del principal que es el siguiente... en el paso 4, después de confirmar datos, al dar clic en dicho botón me devuelve:
500 - No valid database connection:
Es posible que no pueda visitar esta página porque:
1. un favorito/marcado obsoleto
2. un buscador que tiene un listado que ha caducado de este sitio
3. una dirección mal escrita
4. Usted no tiene acceso a esta página.
5. El recurso solicitado no se ha encontrado
6. Ha ocurrido un error al procesar su solicitud.
podéis verlo vosotros mismos si accedeis... me he fijado que al entrar en el listado de compra hace una dirección rara ya que en vez del tipico:(esto con sin url's amigables porque tengo las urls amigables activadas... aunque pasa exáctamente lo mismo)
http://www.dominio.com/es/index.php?page=checkout.index&checkout_last_step=3
aparece:
http://www.dominio.com/es/productos/productoMMM?page=checkout.index&checkout_last_step=3
... donde productoMMM ES SIEMPRE EL MISMO el que muestra... da igual si desde el producto VV le diste al ver el carrito... en la barra de dirección siempre saltará productoMMM. No se si esto es relevante pero es algo que me ha llamado la atención.
Decir además que:
•Al confirmar en el último paso, el pedido, la información del mismo queda reflejada en el virtuemart... sin embargo no se envían los datos de compra, ni al cliente ni al vendedor.
•He revisado y testeado las diferentes opciones de envío de email que tiene el Joomla!,
-ni con 'funcion de correo PHP',
-ni con 'sendmail' (amén de que tal vez aquí la ruta a sendmail no sea correcta)
-ni con SMTP (donde los datos de acceso, servidor, y validación están ok)
¿Ideas?... estaré conectado y expectante hasta solucionar el tema porque es para mi muy urgente...
****Mas datos...
Se me aconsejó desactivar las url's amigables por el hecho de que puedan estar generando el problema de la ruta que indico mas arriba, pero da igual.... sin url's amigables lo hace igual solo que en vez de poner 'mamparas' pone su id correspondiente de virtuemart.
Mas pistas. La plantilla es Mynxx de rockettheme y venía en un pack de joomla 1.5.12 con virtuemarte 1.1.4 por temas de seguridad y porque vi que me daba el problema que nos atañe, probé a borrar virtuemart y reinstalar la versión actual, que va por la 1.1.8
Resultado, todos los productos y categorías se borraron pero menos mal que eso lo hice en la versión de prueba que tengo en local... y que restaurando la base de datos ya todo quedó ok en la versión local.... en el servidor de internet lo que hice fué descomprimir el archivo zip e ir instalando módulo por módulo y quedó como está ahora.
¿Es posible que se me haya quedado mal instalado virtuemarte 1.1.8 y dé conflictos con archivos lantentes de la vers 1.1.4?
¿es probable que la plantilla de Mynxx para virtuemart 1.1.4 no esté debidamente adaptada para virtuemart 1.1.8?
*en este aspecto intenté activar la plantilla para productos estandar que trae el virtuemart, pero los errores eran los mismos.
Me duelen los ojos y tengo hambre... voy a comer y vuelvo en un rato.
Hola,
He realizado un pedido de prueba para ver el error que comentas.
Por lo que cuentas aquí, es posible que los problemas estén causados por la actualización de Virtuemart. Normalmente no es necesario desinstalar el Virtuemart para actualizarlo, ya que existe la posibilidad de actualizarlo desde la versión que tengas. Así no se pierden los datos.
Para ver mejor el problema, necesitaría ver la web sin el SEO activado y comprobar las urls que se están cargando. Además, deberías verificar los valores que tienes en la Configuración de Virtuemart, pestaña Seguridad, para los campos "Site URL" y "SECUREURL". El valor debería ser "http://www.fresnogres.com/web/" para los dos casos.
Le has hechado un vistazo a esto:
http://www.kunenaspanish.com/component/content/article/60-noticias-recientes/30-virtuemart
Gracias Pablo por responder.
He desactivado el SEO. También he desactivado depuración de errores y la opción "depurar" de virtuemart
Lo de desinstalar virtuemart por completo y volverlo a instalar lo hice erróneamente en la version de prueba (imagen) que tengo en mi ordenador local (yo todas las pruebas mas o menos serias lo pruebo primero en casa y con gaseosa).
En la Configuración de Virtuemart, pestaña Seguridad, para los campos "Site URL" y "SECUREURL". la dirección es la que comentas... a saber: http://www.fresnogres.com/web/
voy mirando lo que dices David...
.... mmmmm vale, leído pero tengo 2 dudas con ese enlace sobre problema SEO:
1º eso es para solucionar un problema de virtuemart 1.1.5 y yo he instalado 1.1.8 (siempre y cuando haya quedado bien ¡nstalado) ¿es probable que 4 versiones después no hayan depurado esto ya?
2º Como también apuntaba al principio, al desactivar el SEO, al entrar en el listado de productos del carrito... la dirección de la barra de direcciones me indica que sigue mostrando "mamparas" de forma fija, sólo que en vez de utilizar el nombre usa el ID que en este caso mio es el 115 -->
http://www.fresnogres.com/web/index.php?page=checkout.index&option=com_virtuemart&Itemid=115&redirected=1&Itemid=115
... lo que veo extraño es lo de &redirected=1&Itemid=115 ¿eso sobra no?
Acabo de hacer la prueba con la modificación que se indica en el ps_main.php pero sigue igual.
Hola,
Apostaría a que se trata de un problema entre el Virtuemart y el Joomfish. Prueba a hacer lo siguiente: en la administración de la web vete a la Configuración global de Joomla. A continuación vete a la pestaña servidor. En el apartado "Configuración de la base de datos" cambia el valor del campo "Tipo de base de datos" de mysql a mysqli y dime si así te termina correctamente las compras.
Bueno... novedades en el tema...
he revisado todos los pasos que fuí haciendo desde el principio... y me he dado cuenta de un detalle... de la dirección que resulta al final, cuando se acepta el pedido:
http://www.fresnogres.com/web/index.php?page=checkout.thankyou&checkout_last_step=4&option=com_virtuemart&Itemid=115
...si le quitamos la última variable a mano (el &Itemid=115), quedando:
http://www.fresnogres.com/web/index.php?page=checkout.thankyou&checkout_last_step=4&option=com_virtuemart
el resultado final es el de la imagen adjunta (mensaje de validación de pedido con 2 cabeceras de error:
Notice: Undefined offset: 0 in /home/d445402/public_html/web/administrator/components/com_virtuemart/html/checkout.thankyou.php on line 48
y
Notice: Undefined property: stdClass::$user_email in /home/d445402/public_html/web/components/com_virtuemart/themes/vm_mynxx/templates/pages/checkout.thankyou.tpl.php on line 34
Eso si, aunque el mensaje de validación aparece, no envía emails... además, al modificar a mano la dirección que figura en la barra de direcciones puedo estar generando esos 2 avisos yo con esa acción.
Hola,
Apostaría a que se trata de un problema entre el Virtuemart y el Joomfish. Prueba a hacer lo siguiente: en la administración de la web vete a la Configuración global de Joomla. A continuación vete a la pestaña servidor. En el apartado "Configuración de la base de datos" cambia el valor del campo "Tipo de base de datos" de mysql a mysqli y dime si así te termina correctamente las compras.
SIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII !!!!!!!!!!!!!!!!!!!!!!!!!!!!
HAS DADO EN EL CLAVO!!!! UUUUUUN PERRITO PILOTO PARA EL AMIGO PABLO!!!!!
...Y ASÍ TERMINA MI RUINOSO PERIPLO DE 5 DIAS CON SUS 5 LARGAS NOCHES DE SUFRIMIENTO...
ME VOY A FUMAR UN PETA PARA ALIVIAR TENSIONES!!!! (DICHO JOCOSAMENTE)
Hola,
¿Después del cambio que te dije de hacer en el tipo de la base de dato te funcionan los pedidos?
Algunos Notice que te salen pueden ser normales. Te recomiendo que desactives la depuración de errores para que no se muestren estos mensajes, ya que comprometería la seguridad de la web.
Sobre el fallo en el envío del mail, pruebe a cambiar el sistema de registro de usuario en la configuración de Virtuemart para que sea obligatorio registrarse para comprar en la web y realiza una prueba de compra para ver si ahora sí que se envía el mail.
Por otra parte, comprueba que te llegan otros mails del sistema, como cuando un usuario se registra en la web, para descartar que se trate de un problema en la configuración del correo de Joomla.
Hola,
¿Después del cambio que te dije de hacer en el tipo de la base de dato te funcionan los pedidos?
Algunos Notice que te salen pueden ser normales. Te recomiendo que desactives la depuración de errores para que no se muestren estos mensajes, ya que comprometería la seguridad de la web.
Sobre el fallo en el envío del mail, pruebe a cambiar el sistema de registro de usuario en la configuración de Virtuemart para que sea obligatorio registrarse para comprar en la web y realiza una prueba de compra para ver si ahora sí que se envía el mail.
Por otra parte, comprueba que te llegan otros mails del sistema, como cuando un usuario se registra en la web, para descartar que se trate de un problema en la configuración del correo de Joomla.
Bueno Pablo... de los notice yo creo que eran normales pues cambié a mano y a propósito la ruta en la barra de direcciones y le dí al intro... Desactivar los mensajes de depuración... por supuesto pero estaba en fase de prueba... tras esto cambiaré algunos parámetros de seguridad.
lo de la configuración de email ya lo había revisado antes y estaba bien... Los mails, tras el cambio en el tipo de base de datos llegan correctamente, todo perfecto!
Ya me dirás el porqué lo de la base de datos (me queda la intriga esa) aunque si mencionas el joomfish y virtuemart me haces pensar que joomfish funciona bajo mysqli.
MIL GRACIAS PABLO !!!!(Y POR EXTENSIÓN, A TODOS LOS QUE OS HABÉIS PREOCUPADO DE REVISAR EL TEMA)
Hola,
Me alegro de que se haya solucionado el tema.
El problema del Joomfish viene derivado de la última versión del componente y la forma que tiene de interceptar las consultas con la base de datos, que hace que pueda fallar en ciertas ocasiones. Se supone que es algo que arreglarán en futuras versiones, pero está comprobado que cambiando el tipo de base de datos a mysqli se soluciona.