Puede que tu tienda esté funcionando sin problema y, de repente, tus categorías den error 500 o muestren No template found for /themes/classic/category.tpl. Te explico cómo solucionarlo
Si vienes de haber actualizado un prestashop de 1.6 a 1.7, no siempre, pero a veces puede ocurrirte este error. Además, no tiene porqué aparecer desde un principio, puede manifestarse más adelante, ya que interviene también la cache (sí, la maldita cache que tanto puede complicar las cosas).
Como bien ves, se trata de una problemática que no debería manifestarse con gran frecuencia hoy en día, ya que prestashop va en este momento por su versión 8.1.x y ya anuncia su versión 9, pero también es cierto que en este ecosistema de e-commerce, conviven muchas generaciones, así que es muy habitual en realidad encontrarse con tiendas muy actualizadas funcionando a la vez que otras que tienen motores ya antiguos (por favor, actualizaros, aunque sólo sea por seguridad para vuestra tienda online).
Vamos al tema en cuestión.
Páginas de categoría con error 500
Lo que hace saltar las alarmas, en este caso, es que, al navegar por tu front-office, cada vez que intentas entrar en una categoría te aparece una página en blanco con el error 500.
Siempre que tengamos un error 500, lo primero que debemos hacer es activar el debug, ya que es un error muy poco concreto y necesitamos más información.
Como si te pasa esto, es que tienes un prestashop 1.7, ya sabes que para activar el modo debug tienes que ir a Configuración -> Parámetros avanzados -> Rendimiento y, una vez ahí, pulsa el botón Debug mode o Depuración a Sí
Vuelve a cargar tu frontoffice por la página que te generaba el error 500 y ahora te deberá mostrar el error real que hay detrás y que, muy probablemente, será este:
No template found for /themes/classic/category.tpl at line 68 in file classes/Smarty/TemplateFinder.php
Y he ahí el kit de la cuestión: la página de categoría no se encuentra en la carpeta de tu tema default o classic.
El problema de raíz
El problema de raíz, aunque es muy técnico y lo simplificaré bastante, proviene en realidad del fichero CategoryController.php en el directorio /controllers/front
Ese fichero es estructuralmente muy diferente de los otros controladores, lo que, en algunos casos de actualización de 1.6 a 1.7 indica que es un residuo de esa actualización, es decir, un fichero del 1.6 que no es necesario en 1.7.
Solución
Elimina o renombra ese fichero CategoryController.php en el directorio /controllers/front
Recarga la página de categorías que daba error y, voilà, verás que ya funciona sin problema.
Recuerda desactivar el modo debug, cuando hayas acabado.
Espero que os haya servido. Mucha suerte y mucho ecommerce 🙂