resources/views/pages/frontend/docs/componente-select.md
Última modificación: 24 Oct, 2026

Componente Select de Catálogos

Para acelerar la construcción de formularios y garantizar la integridad referencial contra la tabla catalogos, Mañuti implementa componentes de selección dinámica respaldados por memoria en Redis.


1. Consumo del Helper Catalogo::getOpciones

Cualquier vista Blade puede invocar listas ordenadas y cacheadas mediante una sola línea de código, pasando el slug de la categoría padre:

@php
    $opcionesZonas = \App\Models\Catalogo::getOpciones('SYS_ZONA_HORARIA');
    $valorActual = $user->getConfig('zona_horaria');
@endphp

<select name="zona_horaria" class="form-select" data-control="select2" data-placeholder="Seleccionar zona...">
    <option value="" disabled {{ empty($valorActual) ? 'selected' : '' }}>
        Seleccionar Zona Horaria...
    </option>
    @foreach($opcionesZonas as $opcion)
        <option value="{{ $opcion->valor }}" {{ $valorActual == $opcion->valor ? 'selected' : '' }}>
            {{ $opcion->etiqueta }}
        </option>
    @endforeach
</select>

2. Inyección de Catálogos con Tailwind CSS

El componente integra estilos utilitarios modernos con validación de estado y accesibilidad:

<div class="mb-4">
    <label class="form-label required">Estatus Operativo</label>
    <select name="cat_status" class="form-select border-gray-300 rounded-md shadow-sm">
        @foreach(\App\Models\Catalogo::getOpciones('SYS_ESTATUS_USUARIO') as $item)
            <option value="{{ $item->id }}" {{ old('cat_status', $user->cat_status) == $item->id ? 'selected' : '' }}>
                {{ $item->etiqueta }}
            </option>
        @endforeach
    </select>
</div>

Enlaces Relacionados

Edita este documento en >> componente-select.md
← Volver a la Landing Page