Buenas,
Actualmente estamos en el proceso de actualización de una tienda online con Virtuemart.
Pasamos de un Joomla 2.5 a un Joomla 3.9 y actualizamos a la última versión de virtuemart (3.4.2)
La web funciona bien, el problema aparece a la hora de visualizar el carrito de la compra o al clicar en el botón de checkout.
La mayoría de las veces (no siempre) salta el siguiente error: 1054 - Unknown column 'a.access' in 'where clause'
He probado a actualizar la estructura de la base de datos pero no ha solucionado el error.
He estado consultando y a algunas personas con crear la columna que les falta ya les funciona, el problema es que no se en que tabla he de hacerlo y no se si es una buena solución.
Gracias.
URL del sitio: Contenido solo visible a usuarios registrados
Hola Jaime,
Parece ser un error común al actualizar Joomla!, en el siguiente enlace se ofrecen varias soluciones -> https://bobcares.com/blog/joomla-error-1054/
Saludos.
He probado las soluciones que propone la web pero no hay manera de hacer que funcione.
También se ha intentado instalar diferentes versiones de virtuemart y el error sigue apareciendo.
El error también aparece cuando un usuario intenta ver su perfil o registrarse.
¿Alguien sabe dónde puede estar el error?
Gracias
Hola Jaime.
El problema es porque no encuentra una columna a.access que se utilizaba en versiones anteriores de joomla.
El componente al que hace referencia es el siguiente:
-> https://extensions.joomla.org/extensions/extension/official-extensions/weblinks/
prueba a instalar de nuevo el componente y revisa si se soluciona.
Si no se solucionara veríamos de crear esa celda desde phpMyAdmin
Un saludo
He reinstalado el componente y sigue apareciendo el error.
¿En que tabla debo crear la celda?
Gracias.
Hola Jaime.
estoy revisando la cuenta y veo lo siguiente:
[29-Jul-2019 12:07:29 UTC] PHP Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; plgSystemX_Menu_Params has a deprecated constructor in /home/vinivilanda/public_html/update/plugins/system/x_menu_params/x_menu_params.php on line 15
[29-Jul-2019 08:10:49 UTC] PHP Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /home/vinivilanda/public_html/update/plugins/acymailing/tagcontent/tagcontent.php on line 1227
Antes de realizar nada en la base de datos prueba a renombrar la carpeta de del plugin acymailing y x_menu_params
Accedes a tu cuenta de cPanel -> administrador de archivo
..- accede a update -> plugins y renombra la carpeta acymailing
.- accede a plugins -> system y renombra la carpeta x_menu_params
revisa y comentas los resultados.
Un saludo
He probado a renombrar ambas carpetas y sigue apareciendo el error.
En el error_log ya no aparecen los errores que me comentabas anteriormente.
Ahora solo aparecen estos errores cuando hago click en el botón "Checkout" del carrito, los cuales ya aparecían anteriormente:
[30-Jul-2019 06:24:08 UTC] PHP Warning: Cannot assign an empty string to a string offset in /home/vinivilanda/public_html/update/libraries/src/HTML/HTMLHelper.php on line 627 [30-Jul-2019 06:24:08 UTC] PHP Warning: Illegal string offset 'detectBrowser' in /home/vinivilanda/public_html/update/libraries/src/HTML/HTMLHelper.php on line 628 [30-Jul-2019 06:24:08 UTC] PHP Warning: Illegal string offset 'detectDebug' in /home/vinivilanda/public_html/update/libraries/src/HTML/HTMLHelper.php on line 629 [30-Jul-2019 06:24:08 UTC] PHP Warning: Illegal string offset 'relative' in /home/vinivilanda/public_html/update/libraries/src/HTML/HTMLHelper.php on line 632 [30-Jul-2019 06:24:08 UTC] PHP Warning: Illegal string offset 'detectBrowser' in /home/vinivilanda/public_html/update/libraries/src/HTML/HTMLHelper.php on line 632 [30-Jul-2019 06:24:08 UTC] PHP Warning: Illegal string offset 'detectDebug' in /home/vinivilanda/public_html/update/libraries/src/HTML/HTMLHelper.php on line 632 [30-Jul-2019 06:24:08 UTC] PHP Warning: Illegal string offset 'pathOnly' in /home/vinivilanda/public_html/update/libraries/src/HTML/HTMLHelper.php on line 635
Creemos que el problema es la base de datos, ya que actualizamos este Joomla del 2.5 a la última versión y por lo visto este error se produce cuando das un salto grande entre versiones.
Lo extraño es que en Extensions > Manage > Database aparece que la estructura de la base de datos está actualizada:
Hola Jaime.
El problema suele venir por la estructura de la base de datos.
Aunque veas qu e indique que la estructura está bien, pulsa en el botón " Corregir " y comprueba si se soluciona.
voy a seguir revisando la instalación por si veo algo más que pueda estar afectando, prueba lo que te indico y comentas.
Un saludo
He probado varias veces a clicar en "corregir" y no se soluciona el error.
El error_log muestra lo siguiente al clicar en "corregir"
[30-Jul-2019 09:14:28 UTC] PHP Notice: Undefined offset: 1 in /home/vinivilanda/public_html/update/libraries/src/Help/Help.php on line 131
Hola jaime.
ok, solo una consulta ¿ La plantilla la actualizaste también ? es decir ¿Tienes la última versión de plantilla ?
Este error suele venir por incompatibilidades con plantilla o con alguna extensión.
Comprueba primero si tienes actualizaciones tanto de plantilla como de extensiones.
.- Desactiva las extensiones que no sean nativas de joomla.
Un saludo
Buenas,
La plantilla se compró nueva al actualizar ya que la que había anteriormente no era compatible (además de ser antigua)
He instalado la última versión de la plantilla y ahora el error ha cambiado, ya no aparece el mensaje de error 1054, ahora aparece una pantalla de error 500 y el error_log muestra lo siguiente:
PHP Warning: require_once(/home/vinivilanda/public_html/update/libraries/src/document/renderer/html/HeadRenderer.php): failed to open stream: No such file or directory in /home/vinivilanda/public_html/update/templates/sj_market/error.php on line 42
Hola Jaime.
ahora aparece una pantalla de error 500 y el error_log muestra lo siguiente:
Renombra el archivo error.log que tienes en templates -> sj_market
Una vez eso, limpia la cache de joomla y revisa si carga bien.
Un saludo
HoLa Jaime.
Veo que utiliza AcyMailing, revisa si tienes la ultima version:
-> https://www.acyba.com/acymailing/download.html
Una vez actualizada la extension accedes a la configuración de AcyMailing y selecciona la pestaña " Seguridad "
.- Al final de la página verás el bloque " Mantenimiento de base de datos " pulsa en el botón " Chequear integridad de la base de datos "
Revisa y comenta los resultados.
Un saludo
He probado ambas y sigue sin funcionar, al comprobar la base de datos con la nueva versión de acymailing aparece un check verde pero el error sigue apareciendo.
Si renombro el archivo error.php, vuelve a aparecer el error 1054
Tengo instalado en un directorio /newtemplate el quickstart de la plantilla (para copiar configuraciones, módulos y layout) ¿Existe alguna forma de migrar el contenido (imágenes, usuarios, productos, módulos, componentes, etc.) al quickstart?
Gracias y un saludo.
Buenas,
Confirmo que el error se encuentra en la base de datos, explico lo realizado:
1- Instalado el quickstart de la plantilla en un nuevo directorio (la plantilla funciona correctamente)
2- En el configuration.php de la plantilla instalada desde el quickstart, poner la base de datos del Joomla alojado en /update (el que nos da el error)
El error que da es el siguiente:
[31-Jul-2019 07:04:19 UTC] PHP Warning: count(): Parameter must be an array or an object that implements Countable in /home/vinivilanda/public_html/newtemplate/plugins/system/helix3/core/classes/menu.php on line 258
Básicamente he hecho que el quickstart de la plantilla apunte a la base de datos que nos da el error, la web se ve idéntica (exceptuando las imágenes) pero al registrarse o comprar devuelve error 500