Hola @paula_pro y @marta_digital,
@marta_digital tiene razón en que la versión es clave. Asumiendo que estamos en PrestaShop 1.7.6.7, el problema con los overrides de métodos estáticos como Order::generateReference() puede ser un poco caprichoso. No es suficiente con borrar la caché de Smarty; el class_index.php debe regenerarse correctamente para que PrestaShop sepa que tu Order extendida existe y debe usarla en lugar de la original.
El snippet que presentas es correcto en su aproximación, pero para asegurar que el override sea robusto y que las referencias sean únicas (algo crítico para no tener conflictos en la base de datos), deberías asegurarte de que tu código maneje esa unicidad. Un simple Tools::passwdGen podría generar duplicados si tienes muchos pedidos simultáneos. Aquí te muestro una versión más completa y que deberías usar para tu override en override/classes/Order.php:
class Order extends OrderCore
{
public static function generateReference()
{
$year = date('Y');
$reference = '';
do {
$reference = 'ORD-' . $year . '-' . Tools::passwdGen(5, 'NUMERIC');
$exists = (bool)Db::getInstance()->getValue('SELECT 1 FROM `'._DB_PREFIX_.'orders` WHERE reference = \''.pSQL($reference).'\'');
} while ($exists);
Este código asegura que la referencia generada no exista ya en la base de datos antes de asignarla. Es crucial después de aplicar esto, ir a Parámetros avanzados > Rendimiento y desactivar el modo debug, luego borrar la caché de la tienda y, si no funciona, borrar manualmente el archivo app/cache/prod/class_index.php para forzar la reconstrucción. Después, vuelve a activar el modo debug si lo necesitas.
Para entornos de producción donde la estabilidad y la robustez son esenciales, y si no quieres mantener overrides complejos, te recomendaría considerar un módulo dedicado. Hay soluciones que te permiten gestionar generador de referencias sin tocar el código core de manera más limpia y con más opciones de personalización, incluyendo secuencias y prefijos avanzados sin riesgo de duplicados ni problemas con las actualizaciones.