Remove duplicate rules in hooks-and-api.md
- 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) <noreply@anthropic.com>
This commit is contained in:
@@ -75,11 +75,9 @@ Si `save_module` crea un directorio `modulos/auth_signup/hook.php`, este interce
|
||||
<p>{{ resultado.message }}</p>
|
||||
```
|
||||
|
||||
**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:
|
||||
|
||||
Reference in New Issue
Block a user