Cómo depurar errores en Prestashop

Depuración puede ser una tarea desalentadora, porque con tantas versiones de prestashop modules, terceros y diferentes plataformas de alojamiento pueden ser una tarea ardua. Este tutorial es para verificar que nuestra tienda no contienen errores y si tuviera, tratar de fijar o determinar el problema para buscar ayuda en
el foro.

  1. El primer paso en la depuración es habilitar lo depuración trae prestashop. Esto nos mostrará en los errores de recepción que podrían tener en nuestra tienda. Para habilitar la depuración, que edita el archivo config/config.inc.php y poner el display_errors y el verdadero PS_DEBUG_SQL (por errores en las consultas de base de datos), dejando el archivo tal y como se muestra a continuación:

ini_set ('display_errors', 'on');

define ('_PS_DEBUG_SQL_', true);

En ps 1.5/1.6, el archivo es config/defines.inc.php y establece PS_DEV_MODE en true

Si (! defined('_PS_MODE_DEV_'))
define ('_PS_MODE_DEV_', false);


También contamos con un módulo gratuito que te permite cambiar estos parámetros de la oficina:


http://Catalogo-onlinersi.net/en/Back-Office-prestashop-modules/304-Debug-Prestashop-module.html?search_query=Debug&results=2

  1. Depuración habilitada, nosotros debemos visite nuestro sitio de laOficina para posibles mensajes de error. Es ideal para navegar por todas las secciones, mis propios productos, contacto, etc... Si tienes algo no funciona, nos dirigimos a sólo si la sección donde sabemos que es el problema para ver el error. Los errores que encontramos son muchas. Vamos a ver algo común.
    1. Problemas con Smarty - smarty motor es el que se utiliza para templatesprestashop. Prestashop está cambiando y versión actualizada, es normal que las plantillas también deben hacerlo y son variables y el nuevo código. En muchos casos una plantilla creada para prestashop 1.4.3 no funciona bien en PS PS 1.4.1 o 1.4.6.2 por ejemplo. Esto sólo sabrá qué depuración y activar la plantilla viaja por errores. Un caso típico de error es el siguiente:

      En el mensaje de error, podemos ver que está en el archivo themes/Perfume/address.tpl y se refiere a una variable no reconocida. Más probable es que el archivo no se corresponde con la versión address.tpl de prestashop hemos instalado. Para resolver esto, podemos reemplazar ese archivo con la plantilla prestashop por defecto del archivo y ver si se corrige el error. Es digno de mencionar eso si el archivo
      ha sido modificado para requisitos particulares, personalización y perdemos a hacerlo de nuevo.
    2. Muchas veces cuando se modifica archivos CSS o TPL, no vemos cambios. Esto es porque está activada la seguridad caché. Para forzar a reescribir la memoria caché después de editar TPLarchivos y CSS, vamos a preferencias/rendimiento o parámetros/rendimiento avanzado y forzar la compilación y desactivar la caché:

      También contamos con un módulo gratis que limpia la caché de sabelotodo sin tener que modificar estas opciones. El módulo es el sabelotodo claro en todas las versiones de ps:
      http://Catalogo-onlinersi.net/en/Back-Office-prestashop-modules/93-Clear-Smarty-Prestashop-module.html?search_query=Clear+Smarty&results=1

      También puede borrar los archivos manualmente a través de ftp de herramientas/smarty/compile o tolos/smarty_v2/compile (no elimine el index.php) o caché/smarty/compile.
    3. Muchas veces, no verá los mensajes de error, simplemente una página en blanco. En este caso, podemos ir al menú de su navegador y encontrar la opción Ver código fuente. Desde el código fuente se encuentra el error. Seguramente será de algún módulo, y que falla a compilar toda la plantilla y por lo tanto no veo la oficina.


      Código fuente:

      En el final del archivo donde podemos ver el problema:

      Archivo Prestabook.tplpertenece a un módulo, que probablemente no es compatible con nuestra versión. En estos casos es mejor mirar al módulo creador nos dará una versión de nuestra tienda y el módulo para evitar errores.
    4. Muchas veces tenemos problemas en la tienda, pero la depuración nos no muestra ningún error de prestashop. En estos casos los errores pueden provenir de java scripts/jquery entra en conflicto con algún código en nuestra tienda. Para comprobar esto, usan google chrome (también puedes hacer en firefox con firebug o cualquier otro navegador). Vamos a nuestro sitio y activar la vista de depuración (click derecho, inspeccionar elemento):



      Y luego pulsamos la consola botón Mostrar:


      Si no aparezcan errores a nosotros, estamos bien. Tendremos que inspeccionar todo el sitio y tomar acción para agregar productos para carro, cambiar usuario y gestión de datos, realizar una orden de la prueba y así sucesivamente. Por ejemplo, aquí mostramos un error:


      No capturada ReferenceError: mclosetime no está definido. Al final de la línea, vemos ese archivo es el error "product.php:238", haga clic en el archivo nos mostrará exactamente donde el error:



      Como podemos ver, está relacionado con el bloque de idiomas, probablemente con un código personalizado:


      Esto es porque muchas plantillas modificación módulos y pueden traer conflictos con el código por defecto de prestashop. Deberíamos ver si tenemos una carpeta llamada módulos de plantilla, y dentro de una carpeta con el nombre del módulo que causa el problema. Nosotros podemos renombrar la carpeta para cargar el módulo prestashop original y ver si se soluciona el problema.
      Esto debe tenerse en cuenta Si modificamos un módulo y no vemos ningún cambio, porque si la plantilla tiene módulos personalizados dentro de nuestros tema/módulos, tenemos que modificar esos archivos, no los originales que se encuentran en los módulos prestashop.
    5. Otro punto común de error es el límite de memoria en algunos servidores. Esto puede provocar errores de muchas clases, pero la más común es que no muestran todos los módulos, o memoria tiene un mensaje como este:


      La solución a este problema es aumentar la cantidad de memoria disponible. Con la depuración módulo puede hacerlo desde el back office

      Y poner la memoria en un valor de 256MB. Todo depende del número de módulos que usamos.
      También podemos añadir una línea en el archivo config / config.inc.php con la memoria de valor ini_set ('memory_limit', '256 M');
      Debemos demostrar a un alto valor y entrar en the después de números (8, 16, 32, 64, 128.256, etc...) El M es megabytes.
      Si esto falla, nos debemos en contacto con nuestro anfitrión para modificar estos valores para nosotros.
    6. En las nuevas versiones de Prestashop y algunos hosts, tienes un archivo error_log, en el sitio raíz o en subcarpetas, que contiene errores como falta variables, bibliotecas, etc. puedes descargar y comprobar con cualquier editor de texto para encontrar los errores.
Producto agregado a favoritos
Producto agregado para comparar

Utilizamos cookies, propias y de terceros, para medir y obtener datos estadísticos de la navegación de los usuarios. A su vez, utilizamos cookies analíticas y de personalización para, por ejemplo, recordar el inicio de sesión a la cuenta de usuario o registrar las preferencias del usuario. Puedes configurar y aceptar el uso de cookies mediante los botones que se muestran a continuación, y modificar las opciones de tu consentimiento en cualquier momento visitando nuestra Política de Cookies. Asimismo, puedes obtener más información en “Configurar Cookies”.