Initial commit
This commit is contained in:
81
mcp-server/prompts/guiaCamposTablas.js
Normal file
81
mcp-server/prompts/guiaCamposTablas.js
Normal file
@@ -0,0 +1,81 @@
|
||||
/**
|
||||
* Prompt: guia-campos-tablas
|
||||
* Referencia de tipos de campos para crear/editar tablas y sus campos en la base de datos (MySQL/PHP)
|
||||
*/
|
||||
|
||||
export const guiaCamposTablasPrompt = {
|
||||
name: "guia-campos-tablas",
|
||||
description: "Referencia de tipos de campos para crear/editar tablas y sus campos en la base de datos (MySQL/PHP)",
|
||||
args: {},
|
||||
handler: () => {
|
||||
return {
|
||||
messages: [
|
||||
{
|
||||
role: "user",
|
||||
content: {
|
||||
type: "text",
|
||||
text: `Al modificar el esquema de la base de datos (crear/editar tablas), utiliza estos tipos de campos.
|
||||
Presta especial atención a la configuración del campo 'list'.
|
||||
|
||||
### Campo LIST (Selector/Relación)
|
||||
El tipo **'list'** es el más versátil. Define el origen de datos con \`optionsType\`:
|
||||
|
||||
1. **Lista Estática (optionsType: 'text')**
|
||||
- Para opciones fijas simples.
|
||||
- Formato: \`Valor|Etiqueta\` (una por línea).
|
||||
- Ejemplo: \`optionsText: "1|Activo\\n0|Inactivo"\`
|
||||
|
||||
2. **Relación con Tabla (optionsType: 'table')**
|
||||
- Para relacionar con otra tabla existente (Foreign Key lógica).
|
||||
- \`optionsTablename\`: Nombre de la tabla origen (ej: 'cms_categorias').
|
||||
- \`optionsValueField\`: Campo que se guardará como valor (ej: 'id').
|
||||
- \`optionsLabelField\`: Campo que se mostrará al usuario (ej: 'nombre').
|
||||
|
||||
3. **Consulta SQL (optionsType: 'query')**
|
||||
- Para relaciones complejas o filtradas.
|
||||
- \`optionsQuery\`: Tu consulta SQL.
|
||||
- Usa \`<?php echo $TABLE_PREFIX ?>\` para el prefijo.
|
||||
- Usa \`<?php echo $ESCAPED_FILTER_VALUE ?>\` para filtros dinámicos.
|
||||
|
||||
**Visualización del 'list' (\`listType\`):**
|
||||
- \`pulldown\`: Select estándar.
|
||||
- \`radios\`: Botones de radio.
|
||||
- \`checkboxes\`: Múltiples opciones (array).
|
||||
- \`pulldownMulti\`: Select múltiple.
|
||||
|
||||
---
|
||||
|
||||
### Otros Campos Comunes
|
||||
- **textfield**: Texto corto (VARCHAR). Opciones: \`defaultValue\`, \`fieldWidth\`.
|
||||
- **textbox**: Texto largo (TEXT). Opciones: \`fieldHeight\`.
|
||||
- **wysiwyg**: Editor HTML rico. Opciones: \`allowUploads\`.
|
||||
- **date**: Fecha/Hora. Opciones: \`showTime\` (bool), \`use24HourFormat\` (bool).
|
||||
- **checkbox**: Booleano. Configura \`checkedValue\` (ej: 1) y \`uncheckedValue\` (ej: 0).
|
||||
- **upload**: Subida de archivos. Guarda la ruta relativa.
|
||||
- **multitext**: Estructura JSON para guardar múltiples sub-valores en un solo campo.
|
||||
- **codigo**: Editor de código fuente.
|
||||
- **separator**: Solo visual, para organizar el formulario de edición.
|
||||
|
||||
**Atributos Globales:**
|
||||
- \`isRequired\`: Obligatorio.
|
||||
- \`isUnique\`: Valor único en la tabla.
|
||||
- \`label\`: Nombre visible para el humano.
|
||||
- \`name\`: Nombre de la columna en DB (slug).
|
||||
`
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
export function registerGuiaCamposTablasPrompt(server) {
|
||||
server.prompt(
|
||||
guiaCamposTablasPrompt.name,
|
||||
guiaCamposTablasPrompt.description,
|
||||
guiaCamposTablasPrompt.args,
|
||||
guiaCamposTablasPrompt.handler
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user