From 39661ad0da0090e955225b4b1dcd1b0e73f34b23 Mon Sep 17 00:00:00 2001 From: Dmielgo Date: Thu, 26 Mar 2026 11:24:56 +0000 Subject: [PATCH] Remove duplicate rules in hooks-and-api.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - FK naming: keep detail in Gotchas, reference from Reglas importantes - CmsApi.hook JS: keep callback+Promise in CmsApi section, reference from Cómo Llamar Hooks - cms_uploads INSERT: keep full example in Uploads desde Hooks, reference from Gotchas Co-Authored-By: Claude Opus 4.6 (1M context) --- docs/hooks-and-api.md | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/docs/hooks-and-api.md b/docs/hooks-and-api.md index 3103359..6f5b66c 100644 --- a/docs/hooks-and-api.md +++ b/docs/hooks-and-api.md @@ -75,11 +75,9 @@ Si `save_module` crea un directorio `modulos/auth_signup/hook.php`, este interce

{{ resultado.message }}

``` -**Desde JavaScript:** +**Desde JavaScript:** (ver [CmsApi JS](#cmsapi-javascript--client-side) para callback + Promise) ```js -CmsApi.hook('/hooks/mimodulo/', {param1: 100, param2: 'texto'}, (data) => { - console.log(data.message); -}); +CmsApi.hook('/hooks/mimodulo/', {param1: 100, param2: 'texto'}).then(res => console.log(res)); ``` **Desde otro Hook PHP:** @@ -190,7 +188,7 @@ CmsApi::delete('productos', - Nombres de tabla **sin** prefijo `cms_` - Primary key siempre es `num`, nunca `id` -- Foreign keys: el nombre es **exactamente** el definido en el schema (`.ini.php`). A veces es `categoria_num`, a veces `categoria`. Siempre consultar el schema antes de asumir +- Foreign keys: consultar siempre el schema (ver [Gotchas de BD](#gotchas-de-base-de-datos)) - Upload fields: no se manejan via insert/update - Operadores: `=`, `!=`, `>`, `>=`, `<`, `<=`, `LIKE`, `IN` - **Traducción en PHP:** Usar `t_var()` para todo texto visible al usuario: @@ -477,12 +475,7 @@ Las tablas `category` generan `name` automáticamente como campo de navegación. Al crear tablas o campos, usar `menuOrder` / `order` alto (99+) para que aparezcan al final del listado admin sin alterar el orden existente. ### `cms_uploads` tiene esquema diferente -La tabla usa `createdTime` (no `createdDate`). No tiene `createdByUserNum`, `updatedDate`, ni `updatedByUserNum`. Para insertar un upload manualmente: -```php -global $TABLE_PREFIX; -$sql = "INSERT INTO ".$TABLE_PREFIX."uploads (createdTime, tableName, recordNum, fieldName, urlPath, `order`) - VALUES (NOW(), 'productos', $num, 'foto', '$urlPath', $nextOrder)"; -``` +La tabla usa `createdTime` (no `createdDate`). No tiene `createdByUserNum`, `updatedDate`, ni `updatedByUserNum`. Ver [Uploads desde Hooks](#uploads-desde-hooks) para el ejemplo completo de INSERT. ### Upload fields en PHP Incluso con una sola imagen, los uploads son arrays: