---
title: displayHeader
section: hooks
slug: displayHeader
hook_type: display
category: display-header
location: FO
since_version: 1.5
source_url: "https://ayudaprestashop.es/hooks/displayHeader"
---

# Hook `displayHeader`

| Propiedad | Valor |
| --- | --- |
| Tipo | Display |
| Localizacion | FO |
| Categoria | display-header |
| Desde version | 1.5 |

## 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.

## Valor de retorno

- **Tipo**: `string`
- **Descripcion**: HTML que se inyecta en el <head> del documento

## Disparado por

| Contexto | Clase | Metodo | Fichero |
| --- | --- | --- | --- |
| FrontController | `FrontControllerCore` | `initHeader()` | `classes/controller/FrontController.php` |

**Paginas**: `all-front-pages`

## Registro del hook

```php
public function install()
{
    return parent::install()
        && $this->registerHook('displayHeader');
}
```

## Ejemplo de uso

```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;
}
```

## Ejemplo Smarty

```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.

## Hooks relacionados

- [`actionFrontControllerSetMedia`](https://ayudaprestashop.es/hooks/actionFrontControllerSetMedia)
- [`displayTop`](https://ayudaprestashop.es/hooks/displayTop)
- [`displayBanner`](https://ayudaprestashop.es/hooks/displayBanner)
- [`displayFooter`](https://ayudaprestashop.es/hooks/displayFooter)
- [`displayBackOfficeHeader`](https://ayudaprestashop.es/hooks/displayBackOfficeHeader)

## Guias relacionadas

- [front/media-class](https://ayudaprestashop.es/front/media-class)
- [themes/assets](https://ayudaprestashop.es/themes/assets)
- [modules/main-file](https://ayudaprestashop.es/modules/main-file)

## Historial de versiones

| Version | Cambio |
| --- | --- |
| 1.5 | Introducido para inyeccion de contenido en el head |
| 1.7 | Se recomienda actionFrontControllerSetMedia como alternativa para CSS/JS |


---

*Fuente: [https://ayudaprestashop.es/hooks/displayHeader](https://ayudaprestashop.es/hooks/displayHeader). Version Markdown generada automaticamente para consumo por LLMs.*
