Sistema de Campos Personalizados
Creación de Campos Personalizados
Agregar Campos Personalizados a Formularios de Contacto
El sistema de campos personalizados permite adaptar los formularios de contacto a las necesidades de su negocio:
Proceso de Creación de Campos:
- Los campos personalizados se crean a través de una interfaz modal dedicada
- Los campos se asocian automáticamente con el equipo actual
- Cada campo requiere un nombre y especificación de tipo
- Los campos están vinculados a modelos específicos (como contactos)
Información Requerida:
- Nombre del Campo: Nombre descriptivo para el campo personalizado (requerido, máximo 255 caracteres)
- Tipo de Campo: Tipo de dato para el campo (texto o número)
- Modelo Objetivo: Se establece automáticamente en "App\Models\Contact" para campos de contacto
Interfaz de Creación:
- Creación basada en modal para fácil adición de campos
- Validación en tiempo real de los requisitos del campo
- Asignación automática de equipo para control de acceso adecuado
- Integración con formularios de creación y edición de contactos
Gestión y Organización de Campos
Los campos personalizados se organizan sistemáticamente dentro de los equipos:
Organización Basada en Equipos:
- Todos los campos personalizados están limitados a equipos específicos
- El aislamiento de equipos asegura que los campos solo sean visibles para los miembros del equipo
- Los campos se filtran por ID de equipo en todas las consultas
- El acceso a campos entre equipos está prevenido
Campos Específicos del Modelo:
- Los campos están asociados con modelos específicos a través del atributo "fieldable"
- Los campos personalizados de contacto están separados de otros campos del modelo
- La relación polimórfica permite que los campos se usen en diferentes modelos
- El filtrado específico del modelo asegura que los campos relevantes aparezcan en los formularios correctos
Tipos de Campos y Validación
Tipos de Campos Disponibles
El sistema admite múltiples tipos de campos para diferentes requisitos de datos:
Tipos de Campos Básicos:
- Campos de Texto: Para entrada de datos de cadena con validación de texto estándar
- Campos Numéricos: Para datos numéricos con validación específica de números
- Campos Booleanos: Para datos verdadero/falso (referenciado en comentarios de migración)
- Campos de Fecha: Para entrada de datos específicos de fecha (referenciado en comentarios de migración)
Implementación del Tipo de Campo:
- La validación de tipo asegura que solo se usen tipos admitidos
- Los componentes del frontend renderizan tipos de entrada apropiados según el tipo de campo
- Los campos de texto usan componentes de entrada de texto estándar
- Los campos numéricos usan entrada numérica HTML con validación numérica
Reglas de Validación:
- Los nombres de campo son requeridos y limitados a 255 caracteres
- Los tipos de campo deben ser tipos válidos admitidos
- La asociación de equipo es requerida para todos los campos
- La asociación del modelo (fieldable) es requerida para organización adecuada
Gestión de Valores de Campo
Los valores de campos personalizados se gestionan a través de un sistema de valores separado:
Almacenamiento de Valores:
- Los valores se almacenan en una tabla dedicada custom_field_values
- La relación polimórfica vincula valores a registros específicos (contactos)
- Cada valor está asociado con un campo personalizado a través de custom_field_id
- Los valores admiten almacenamiento de texto con valores nulos
Operaciones de Valores:
- Crear: Los valores se crean cuando se crean contactos con datos de campo personalizado
- Actualizar: Los valores usan updateOrCreate para gestión eficiente de valores
- Leer: Los valores se cargan con contactos para visualización en formularios
- Eliminar: Los valores se eliminan en cascada cuando se eliminan campos personalizados
Valores de Campos Personalizados
Gestión de Datos de Campo
Los valores de campos personalizados están integrados en los flujos de trabajo de gestión de contactos:
Creación de Valores:
- Los valores se crean durante la creación de contactos si se proporcionan datos de campo personalizado
- Cada valor de campo personalizado se vincula a un campo personalizado y contacto específicos
- Los valores pueden ser nulos/vacíos para campos opcionales
- Creación automática de valores para todos los campos personalizados definidos
Actualizaciones de Valores:
- La edición de contactos incluye actualizaciones de valores de campos personalizados
- El patrón UpdateOrCreate asegura que los valores se mantengan adecuadamente
- Los valores existentes se actualizan, los nuevos valores se crean según sea necesario
- La eliminación de campos de formularios no elimina valores existentes
Visualización de Valores:
- Los valores de campos personalizados se cargan con datos de contacto para edición
- Los valores se mapean a campos personalizados para población adecuada del formulario
- La visualización incluye nombres de campo y valores actuales
- Los componentes del formulario renderizan tipos de entrada apropiados según los tipos de campo
Integración de Valores con Formularios de Contacto
Los valores de campos personalizados se integran perfectamente con los formularios de contacto:
Integración de Formularios:
- Los campos personalizados aparecen en formularios de creación de contactos
- Los valores existentes pueblan automáticamente los formularios de edición
- La validación de formularios incluye requisitos de campos personalizados
- Los valores se envían como parte de los datos de contacto
Estructura de Datos:
- Los valores se pasan como matriz custom_field_values en formularios
- Cada valor incluye custom_field_id y datos de valor
- Los componentes del formulario mapean valores a tipos de campo apropiados
- La validación ocurre tanto a nivel de frontend como de backend
Organización de Campos
Organización por Equipo y Propósito
Los campos personalizados se organizan sistemáticamente para una gestión eficiente:
Separación Basada en Equipos:
- Todos los campos personalizados están limitados a equipos específicos a través de team_id
- El filtrado de equipos asegura que los campos solo sean visibles para usuarios apropiados
- El acceso a campos entre equipos está completamente prevenido
- Gestión y organización de campos específicos del equipo
Organización Específica del Modelo:
- Los campos se organizan por modelo objetivo a través del atributo "fieldable"
- Los campos de contacto están separados de los campos de ofertas u otros campos del modelo
- Las consultas específicas del modelo aseguran que los campos relevantes aparezcan en contextos correctos
- Las relaciones polimórficas admiten uso flexible de campos
Uso Basado en Propósito:
- Los campos se pueden organizar por propósito empresarial o tipo de dato
- Los nombres de campo admiten organización descriptiva
- La generación de etiquetas proporciona visualización de campo fácil de usar
- Soporte de secuencia y ordenamiento planificado para organización futura
Visualización y Gestión de Campos
Los campos personalizados se presentan en interfaces organizadas y fáciles de usar:
Características de Visualización:
- Generación automática de etiquetas a partir de nombres de campo usando mayúsculas de título
- Los tipos de campo determinan componentes de entrada apropiados
- Presentación organizada en formularios y listas de contactos
- Integración con interfaces de gestión de contactos existentes
Interfaz de Gestión:
- Creación de campos basada en modal para gestión simplificada
- Listado y organización de campos dentro de contextos de equipo
- Integración con páginas de índice y gestión de contactos
- Adición de campos en tiempo real y actualizaciones de formularios
Integración de Campos Personalizados
Integración con Flujos de Trabajo de Contacto
Los campos personalizados se integran profundamente con los procesos de gestión de contactos:
Integración de Creación de Contactos:
- Los campos personalizados aparecen en formularios de creación de contactos
- Los valores de campo se guardan durante el proceso de creación de contactos
- La validación incluye requisitos de campos personalizados
- Creación automática de relaciones campo-valor
Integración de Edición de Contactos:
- Los valores de campos personalizados existentes pueblan formularios de edición
- Los valores se pueden modificar a través del proceso de edición estándar
- El patrón UpdateOrCreate asegura consistencia de datos
- Los cambios de campo se rastrean con actualizaciones de contacto
Integración de Visualización de Contactos:
- Los campos personalizados aparecen en vistas de detalles de contacto
- Los valores de campo se muestran con formato apropiado
- Integración con capacidades de búsqueda y filtrado de contactos
- Datos de campo incluidos en exportación e informes de contactos
Integración en Todo el Sistema
Los campos personalizados se integran con funcionalidad más amplia del sistema:
Integración de Búsqueda:
- Los valores de campos personalizados se incluyen en búsquedas de contactos
- Los datos de campo admiten filtrado y organización
- Integración con capacidades de búsqueda global
- Organización y agrupación de contactos basada en campos
Integración de Informes:
- Datos de campos personalizados disponibles para informes y análisis
- Valores de campo incluidos en exportaciones de datos de contactos
- Integración con herramientas de informes y análisis de equipos
- Métricas y seguimiento de uso de campos personalizados
Colaboración en Equipo:
- Los campos personalizados admiten gestión de contactos en todo el equipo
- Definiciones de campo compartidas entre miembros del equipo
- Uso consistente de campos en flujos de trabajo del equipo
- Organización y asignación de contactos basada en campos
