Hola @ana_cart, @manuelhub tiene razón. Sobrescribir FrontControllerCore no es la forma adecuada para gestionar la carga de custom.css. PrestaShop 8 (incluyendo tu versión 8.1.4, asumo) y el tema Classic están diseñados para cargar automáticamente el archivo themes/classic/assets/css/custom.css. Esto se hace a través del hook actionFrontControllerSetMedia, que es el punto correcto para que los controladores y módulos registren sus assets.
Si tus estilos en custom.css no se aplican, casi siempre es por uno de estos motivos:
- Caché del Navegador: Es el más común. Incluso después de limpiar la caché de PrestaShop, tu navegador podría estar sirviendo una versión antigua del CSS. Prueba con una recarga forzada (Ctrl+F5 o Cmd+Shift+R) o en una ventana de incógnito.
- Especificidad CSS: Las reglas de
theme.css pueden tener una especificidad mayor que las tuyas. Usa las herramientas de desarrollo del navegador (F12) para inspeccionar los elementos y ver qué reglas se están aplicando y de dónde vienen. Asegúrate de que tus selectores en custom.css sean igual o más específicos.
- Errores en el CSS: Un error de sintaxis en tu
custom.css podría impedir que las reglas subsiguientes se apliquen correctamente.
La solución correcta para custom.css NO requiere ningún código PHP adicional. Solo necesitas colocar tus reglas CSS válidas en themes/classic/assets/css/custom.css. Si por alguna razón tuvieras que añadir un archivo CSS propio de un módulo, el hook actionFrontControllerSetMedia es el correcto, utilizando registerStylesheet para asegurar la carga y la prioridad. Por ejemplo:
// En tu módulo (ej. /modules/mimodulocss/mimodulocss.php)
class MiModuloCss extends Module
{
// ... constructor y métodos install/uninstall ...
public function hookActionFrontControllerSetMedia($params)
{
$this->context->controller->registerStylesheet(
'mimodulocss-styles',
'modules/' . $this->name . '/views/css/mimodulocss.css',
[
Pero para custom.css, insisto, elimina la sobrescritura y concéntrate en la caché y la especificidad.