docs: documenta el contrato de plugins CMS personalizados (checkPoints en cms/lib/plugins/index.php)
gitleaks / gitleaks (push) Canceled after 0s
gitleaks / gitleaks (pull_request) Canceled after 0s

No estaba documentado en absoluto (solo se mencionaba builder_saas para color). Evita tener que
explorar el servidor por SSH para entender addPlugins/checkPoints/gating/filtros.
This commit is contained in:
2026-09-14 14:52:58 +01:00
parent 6771918919
commit 9565b4410b
2 changed files with 17 additions and 1 deletions
+16
View File
@@ -152,6 +152,22 @@ datos correctos y sin error visible).
---
## Plugins CMS personalizados (checkPoints)
Para entender **cómo despacha el CMS un plugin custom** (no confundir con hooks de módulo), lee primero
`cms/lib/plugins/index.php` **de ese proyecto** — no hace falta explorar el servidor por SSH ni el
código de `web-base`, el contrato completo está ahí:
- `addPlugins($type, &$var, $fieldtype)` despacha los checkPoints con `include` (no clases/autoload).
- Gating nativo por `adminOnly` + `isAdmin` — un checkPoint puede declararse solo-admin.
- `$var` se pasa **por referencia** — un plugin puede mutar el valor que ven los siguientes.
- Filtros `menuFilter`/`actionFilter` por tabla/action, para que un plugin solo se dispare donde aplica.
- `newFieldType` para registrar tipos de campo nuevos del builder.
- La instalación de un plugin va vía `install.sql` + `schemaPresets` — **no** `schemas/` (ese es el
sistema viejo de `seo_toolkit`, con el `install.php` comentado; no lo repliques).
---
## CmsApi (PHP)
API server-side para operaciones de base de datos. Disponible en todos los hooks.