Hola @marinaauto y @valeriamadrid,
@marinaauto, el problema que describes es un clásico de PrestaShop 8.0.5 y versiones anteriores cuando se intenta añadir assets (CSS/JS) desde una clase auxiliar o en un punto incorrecto del ciclo de vida de la petición.
Aunque el código que muestras llama correctamente a addCSS y addJS en el $this->context->controller, el método run() de ConorderfeeAdmin (que asumo es una clase helper y no un AdminController propiamente dicho) no es el lugar adecuado para estas llamadas. El controlador principal que renderiza la página (normalmente un AdminModulesController para la configuración de módulos, o tu propio ModuleAdminController si lo tienes) ya ha procesado o está a punto de procesar sus propios assets a través del método setMedia().
Al llamar a addCSS/addJS desde ConorderfeeAdmin::run(), es muy probable que los assets se añadan a una cola que ya ha sido 'sellada' o que será sobrescrita por el controlador principal. La solución más robusta y recomendada es mover esas llamadas al método getContent() de tu archivo principal del módulo (conorderfee.php).
Para conorderfee/classes/ConorderfeeAdmin.php, la modificación sería simplemente eliminar esas líneas, ya que no son efectivas allí:
function run()
{
// Las llamadas a addCSS y addJS se eliminan de aquí
// if (isset($this->context->controller) && method_exists($this->context->controller, 'addCSS')) {
// $this->context->controller->addCSS($this->module->getPathUri() . 'views/css/admin_conorderfee.css');
// $this->context->controller->addJS($this->module->getPathUri() . 'views/js/adminConditionBuilder.js');
// }
$activeTab = Tools::getValue('conorderfee_tab', 'dashboard');
if ($activeTab === 'policies' && isset($this->context->controller)) {
Luego, en el método getContent() de tu módulo principal (conorderfee.php), deberías añadir estas líneas, asegurándote de que $this->context->controller esté disponible y sea el controlador correcto:
public function getContent()
{
// ... lógica del formulario o procesamiento ...
if (isset($this->context->controller) && method_exists($this->context->controller, 'addCSS')) {
$this->context->controller->addCSS($this->getPathUri() . 'views/css/admin_conorderfee.css');
$this->context->controller->addJS($this->getPathUri() . 'views/js/adminConditionBuilder.js');
}
// ... aquí llamas a ConorderfeeAdmin::run() para obtener el contenido HTML ...
$conorderfeeAdmin = new ConorderfeeAdmin($this);
// ... y retornas el HTML renderizado
De esta forma, los assets se registran en el contexto del controlador principal en el momento adecuado.