DISPLAY
FO
Desde 1.5
displayHeader
~3 min de lectura
#Descripcion
Permite inyectar contenido en la seccion `<head>` del HTML del front office. Es el hook mas utilizado para añadir CSS personalizado, meta tags, scripts de tracking (Google Analytics, Facebook Pixel), y cualquier contenido que deba estar en el head del documento. Se ejecuta en TODAS las paginas del front office.
Disparado por
-
FrontControllerCore::initHeader()— classes/controller/FrontController.php
#Parametros
Este hook no recibe parametros via $params.
#Ejemplo de codigo
mymodule.php
php
public function install()
{
return parent::install()
&& $this->registerHook('displayHeader');
}
mymodule.php
php
/**
* Hook displayHeader — Añade CSS/JS y meta tags al head
*/
public function hookDisplayHeader($params)
{
// Metodo moderno (PS 1.7+): usar registerStylesheet/registerJavascript
// en hookActionFrontControllerSetMedia en su lugar
// Metodo legacy/compatible con todas las versiones:
$this->context->controller->addCSS(
$this->_path . 'views/css/front.css',
'all'
);
$this->context->controller->addJS(
$this->_path . 'views/js/front.js'
);
// Inyectar meta tag personalizado
$html = '<meta name="my-module" content="active">';
// Inyectar tracking script (solo si cookie aceptada)
if (Module::isEnabled('psgdpr')) {
$html .= '<!-- Mi script de tracking -->';
}
return $html;
}
template.tpl
smarty
{hook h='displayHeader'}
#Notas y gotchas
- ⚠️ Desde PS 1.7, se recomienda usar `actionFrontControllerSetMedia` con `registerStylesheet()`/`registerJavascript()` para CSS/JS. Son mas eficientes y permiten CCC (Combine, Compress, Cache).
- ⚠️ Este hook se ejecuta en TODAS las paginas del front. Para condicionar, comprueba `$this->context->controller->php_self` o la clase del controlador.
- ⚠️ No añadas scripts grandes aqui — son render-blocking. Usa `defer` o `async` si inyectas `<script>` directamente.
- ⚠️ El HTML devuelto se inserta DENTRO de `<head>`, no despues. Asegurate de devolver HTML valido para `<head>`.
- ⚠️ En temas modernos (PS 1.7+), prefiere `{block name='head'}` en Smarty si puedes modificar el tema.
#Relacionados
#Historial de versiones
| Version PS | Cambio |
|---|---|
| 1.5 | Introducido para inyeccion de contenido en el head |
| 1.7 | Se recomienda actionFrontControllerSetMedia como alternativa para CSS/JS |
Descargar en Markdown
Pensado para pegar en ChatGPT, Claude u otra IA. Incluye solo el contenido de esta pagina.