Hola @pedroauto96,
@miguelpro y @valeria_store han dado en el clavo. Estás lidiando con un problema clásico de mantenimiento al intentar modificar el core de PrestaShop. Para tu consulta, confirmando que estás en PrestaShop 8.0.2 (como has indicado en tu perfil, gracias por actualizarlo), la situación es la misma: cualquier modificación directa de un controlador o archivo de plantilla principal será sobreescrita o generará conflictos en futuras actualizaciones, especialmente si se trata de un override del IndexControllerCore.
La solución más profesional y sostenible es la creación o uso de un módulo dedicado. Un módulo te permite añadir funcionalidades al Back Office (para la gestión de las imágenes del slider) y al Front Office (para mostrar el slider) de forma independiente al core de PrestaShop. Así, tus cambios persistirán a través de las actualizaciones del sistema.
Si bien desarrollar un módulo completo para gestionar un slider con todas sus opciones puede ser una tarea compleja, si deseas un control total sin tocar el código core, existen soluciones ya desarrolladas. Para gestionar deslizador de presta sin tocar el código core, un módulo específico te ofrecerá la interfaz que buscas en el Back Office para subir imágenes, configurar URLs, orden y activar/desactivar slides sin necesidad de tocar una línea de código.
Sin embargo, si por alguna razón necesitas un enfoque más personalizado y estás desarrollando tu propio módulo (que es lo ideal si no quieres una solución de terceros), la lógica que has intentado poner en el IndexController debería ir en un hook de tu módulo, como hookDisplayHome. Aquí te muestro cómo se vería un fragmento de código PHP dentro de la clase principal de tu módulo para asignar las imágenes a Smarty:
// Dentro de la clase principal de tu módulo (por ejemplo, MyCustomSlider.php)
public function hookDisplayHome($params)
{
// Aquí deberías cargar los datos de las imágenes desde la base de datos
// que previamente habrías guardado desde el Back Office de tu módulo.
$sliderImages = $this->getSliderImagesFromDb(); // Método ficticio para obtener datos
$this->context->smarty->assign([
'my_slider_data' => $sliderImages,
'module_dir' => $this->_path
]);
De esta forma, la lógica de tu slider está encapsulada en tu módulo, es configurable y se renderiza en el lugar correcto del tema sin interferir con el core de PrestaShop. Es una práctica mucho más segura y mantenible.