@php $pageTitle = $page?->title ?: 'Plana docente'; $pageExcerpt = $page?->excerpt ?: 'Conoce a los profesionales que forman parte de nuestra comunidad educativa.'; $storageUrl = static function ($value, $file = false) { if (blank($value)) { return null; } $path = $value; if ($file) { $decoded = json_decode($value, true); // Voyager almacena los campos de archivo como JSON. Cuando se // elimina un archivo, el valor puede quedar como "[]"; ese valor // debe tratarse como vacío y nunca como una ruta de Storage. if (json_last_error() === JSON_ERROR_NONE) { if (!is_array($decoded) || empty($decoded)) { return null; } $path = data_get($decoded, '0.download_link'); if (blank($path)) { return null; } } } if (!is_string($path) || blank($path) || in_array(trim($path), ['[]', '{}', 'null'], true)) { return null; } if (\Illuminate\Support\Str::startsWith($path, ['http://', 'https://'])) { return $path; } $path = preg_replace('#^/?storage/#', '', $path); return asset('storage/' . ltrim($path, '/')); }; @endphp @push('styles') @endpush

{{ $pageTitle }}

{{ $pageExcerpt }}

Comunidad educativa

Nuestros docentes

Filtra el directorio para encontrar rápidamente al profesional que buscas.

Filtrar docentes
@if(request()->hasAny(['programa', 'cargo', 'tipocargo', 'rolcargo', 'contrato'])) Limpiar filtros @endif
{{ $docentes->total() }} {{ $docentes->total() === 1 ? 'docente encontrado' : 'docentes encontrados' }}
@if($docentes->count())
@foreach($docentes as $docente) @php $nombre = trim(collect([$docente->nombres, $docente->apellido_paterno, $docente->apellido_materno])->filter()->join(' ')); $fotoUrl = $storageUrl($docente->foto); $cvArchivoUrl = $storageUrl($docente->cv, true); $cvExternoUrl = filter_var($docente->cv_url, FILTER_VALIDATE_URL) && \Illuminate\Support\Str::startsWith($docente->cv_url, ['http://', 'https://']) ? $docente->cv_url : null; // Prioridad solicitada: archivo subido; en su // ausencia, se muestra la URL externa. $cvUrl = $cvArchivoUrl ?: $cvExternoUrl; $cargaHorariaUrl = $storageUrl($docente->carga_horaria, true); @endphp
@if($fotoUrl) Fotografía de {{ $nombre }} @else @endif
@if($docente->programaRelacion) {{ $docente->programaRelacion->nombre }} @endif

{{ $nombre ?: 'Docente' }}

{{ $docente->cargoRelacion?->nombre ?: 'Docente' }}

@if($docente->tipoCargo || $docente->rolCargo || $docente->tipoContrato)

{{ collect([$docente->tipoCargo?->nombre, $docente->rolCargo?->name, $docente->tipoContrato?->nombre])->filter()->join(' · ') }}

@endif
@if($docente->tituloRelacion) @else @endif @if($docente->gradoRelacion) @else @endif @if($cvUrl) @else @endif @if($cargaHorariaUrl) @else @endif @if(filled($docente->email)) @else @endif
@if(filled($docente->email)) @endif
@endforeach
@if($docentes->hasPages()) @php $startPage = max(1, $docentes->currentPage() - 2); $endPage = min($docentes->lastPage(), $docentes->currentPage() + 2); @endphp @endif @else

No se encontraron docentes

Prueba con otra combinación de filtros.

Mostrar todos
@endif
@push('scripts') @endpush