Hola @felix_tech,
Entiendo el problema. En PrestaShop 1.7.x, aunque $this->module->getPathUri() suele funcionar, en ciertos contextos de administración o configuraciones de servidor puede ser un poco inconsistente o devolver una ruta relativa que no siempre es correctamente interpretada por addJS. El CSS podría cargar porque el navegador lo maneja de forma más flexible o porque el error se manifiesta más con los scripts.
Una forma más robusta y comúnmente utilizada para obtener la URI base de un módulo para sus assets es construirla usando la constante global _MODULE_DIR_. Esto asegura una ruta absoluta web-accesible.
Aquí te muestro cómo podrías modificar el fragmento de código para asegurar que el JS se cargue:
function run()
{
if (isset($this->context->controller) && method_exists($this->context->controller, 'addCSS')) {
// Usar _MODULE_DIR_ para una ruta más fiable en el back office
$moduleUri = _MODULE_DIR_ . $this->module->name . '/';
$this->context->controller->addCSS($moduleUri . 'views/css/admin_conorderfee.css');
$this->context->controller->addJS($moduleUri . 'views/js/adminConditionBuilder.js');
}
Explicación de los cambios:
- He introducido una nueva variable
$moduleUri que construye la ruta base usando _MODULE_DIR_ y el nombre de tu módulo ($this->module->name). _MODULE_DIR_ se define como la ruta web al directorio /modules/.
- Luego, simplemente concatenamos las rutas relativas de tus archivos CSS y JS a
$moduleUri. Esto garantiza que addCSS y addJS reciban una ruta URL absoluta y consistente, lo que debería resolver el problema de carga del script.
Prueba esto y me dices si te funciona.