it-swarm-es.tech

Eliminar el script principal que no funciona en el componente personalizado

Estoy usando estas líneas para eliminar los scripts de encabezado de Joomla. No lo necesito:

$doc = JFactory::getDocument();

$dontInclude = array(
    '/media/jui/js/bootstrap.min.js'
);

foreach($doc->_scripts as $key => $script){
    if(in_array($key, $dontInclude)){
        unset($doc->_scripts[$key]);
    }
} 

Todo funciona bien en todas las páginas, excepto aquellas que apuntan a un componente personalizado. No hay anulación de la cabeza en mi componente y el caché está deshabilitado.

Estoy usando Joomla 3.3.3

Editar: Si imprimo el objeto del documento desde mi componente, los scripts son una matriz vacía ...

Gracias por adelantado

1
Dayron Gallardo

Probablemente debería estar haciendo esto en un complemento del sistema usando el evento onBeforeRender. En este punto de ejecución, la página está a punto de mostrarse, por lo que los scripts deben estar en su lugar.

Algo como esto:

function onBeforeRender() {
  $doc = JFactory::getDocument();

  $dontInclude = array(
    '/media/jui/js/bootstrap.min.js'
  );

  foreach($doc->_scripts as $key => $script){
    if(in_array($key, $dontInclude)){
        unset($doc->_scripts[$key]);
    }
  } 
}
2
Michael