Los hooks permiten que los plugins ejecuten código en respuesta a eventos. Todos los hooks reciben un objeto evento y el contexto del plugin.
Firma del hook
async (event, ctx) => ReturnType;
Configuración del hook
| Opción | Tipo | Default | Descripción |
|---|---|---|---|
priority | number | 100 | Orden de ejecución. Números menores primero. |
timeout | number | 5000 | Tiempo máximo de ejecución en milisegundos. |
dependencies | string[] | [] | IDs de plugins que deben ejecutarse antes. |
errorPolicy | "abort" | "continue" | "abort" | Si detener la pipeline en caso de error. |
Hooks de ciclo de vida
plugin:install, plugin:activate, plugin:deactivate, plugin:uninstall
Hooks de contenido
content:beforeSave
Se ejecuta antes de guardar contenido. Retorna contenido modificado, un resultado de error del sandbox, o void.
content:afterSave
Se ejecuta después de guardar exitosamente.
content:beforeDelete / content:afterDelete
content:afterPublish / content:afterUnpublish / content:afterRestore / content:afterSchedule / content:afterUnschedule
Hooks de medios
media:beforeUpload / media:afterUpload
Hooks de páginas públicas
page:metadata
Contribuye metadatos estructurados a <head>. Disponible para plugins sandboxed y nativos.
page:fragments
Contribuye HTML, scripts o hojas de estilo. Solo plugins nativos.
Orden de ejecución
- Menor
priorityprimero. - A igual prioridad, orden de registro.
- Hooks con
dependenciesesperan a esos plugins.
Referencia de hooks
| Hook | Disparador | Retorno | Exclusivo |
|---|---|---|---|
plugin:install | Primera instalación | void | No |
content:beforeSave | Antes de guardar | Contenido modificado o void | No |
content:afterSave | Después de guardar | void | No |
content:beforeDelete | Antes de eliminar | false para cancelar | No |
page:metadata | Renderizado de página | Contribuciones o null | No |
page:fragments | Renderizado (solo nativo) | Contribuciones o null | No |
Ver la Referencia de Hooks para tipos completos.