5.7 KiB
GUIDA GESTIONE LAYOUT NETGESCON
Data Creazione: 22/07/2025
Ultima Modifica: 22/07/2025
Versione: 1.0
PROBLEMA RICORRENTE: REGRESSIONE GRAFICA CON LOGOUT
DESCRIZIONE PROBLEMA
Durante l'implementazione del sistema di logout, si è verificata una regressione grafica dove:
- Il logout funziona correttamente ✅
- La grafica tornava al layout vecchio (non bello) ❌
- Le pagine utilizzavano
layouts.app-universal-v2invece diadmin.layouts.netgescon
CAUSA ROOT
Il problema si verifica quando si modifica il layout base e alcune pagine mantengono riferimenti al layout sbagliato.
LAYOUT SYSTEM NETGESCON
LAYOUT CORRETTO DA USARE
@extends('admin.layouts.netgescon')
LAYOUT DA EVITARE
@extends('layouts.app-universal-v2') <!-- SBAGLIATO -->
CARATTERISTICHE LAYOUT CORRETTO
- File:
/resources/views/admin/layouts/netgescon.blade.php - Header: Blu con menu utente e logout funzionale
- Sidebar: Scura con navigazione (NETGESCON, Dashboard, Stabili, Condomini, etc.)
- Design: Moderno e professionale
- Framework: Bootstrap 5
- Logout: Menu dropdown in alto a destra con icona utente
PROCEDURA DI RISOLUZIONE
STEP 1: IDENTIFICARE PAGINE CON LAYOUT SBAGLIATO
grep -r "@extends('layouts.app-universal-v2')" resources/views/
STEP 2: SOSTITUIRE LAYOUT ERRATO
Per ogni file trovato, sostituire:
# DA:
@extends('layouts.app-universal-v2')
# A:
@extends('admin.layouts.netgescon')
STEP 3: PULIRE CACHE
php artisan view:clear
php artisan config:clear
php artisan route:clear
STEP 4: VERIFICARE RISULTATO
- Controllare che tutte le pagine abbiano la grafica bella
- Verificare che il logout funzioni
- Testare navigazione sidebar
PAGINE SISTEMATE (22/07/2025)
ADMIN PAGES
- ✅
/admin/stabili/index.blade.php - ✅
/admin/stabili/create.blade.php - ✅
/admin/stabili/edit.blade.php - ✅
/admin/stabili/show.blade.php - ✅
/admin/palazzine/show.blade.php - ✅
/admin/unita-immobiliari/show.blade.php - ✅
/admin/dashboard.blade.php
SUPERADMIN PAGES
- ✅
/superadmin/archivi/comuni.blade.php - ✅
/superadmin/archivi/index.blade.php - ✅
/superadmin/comuni/index.blade.php
COMANDO RAPIDO DI SISTEMA
DIAGNOSI RAPIDA
# Trova tutte le pagine con layout sbagliato
grep -r "@extends('layouts.app-universal-v2')" /var/www/netgescon/resources/views/
# Conta quante pagine hanno layout sbagliato
grep -r "@extends('layouts.app-universal-v2')" /var/www/netgescon/resources/views/ | wc -l
CORREZIONE AUTOMATICA (DA USARE CON ATTENZIONE)
# Sostituisce automaticamente in tutti i file
find /var/www/netgescon/resources/views/ -name "*.blade.php" -exec sed -i "s/@extends('layouts\.app-universal-v2')/@extends('admin.layouts.netgescon')/g" {} \;
# Pulisce cache dopo correzione
php artisan view:clear && php artisan config:clear && php artisan route:clear
LAYOUT HEADER CON LOGOUT
CODICE LOGOUT MENU (FUNZIONANTE)
<!-- User Dropdown Menu -->
<div class="dropdown">
<a class="nav-link dropdown-toggle d-flex align-items-center text-white text-decoration-none"
href="#" role="button" id="userDropdown" data-bs-toggle="dropdown" aria-expanded="false">
<i class="fas fa-user-circle me-2"></i>
<span>{{ Auth::user()->name }}</span>
</a>
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="userDropdown">
<li><a class="dropdown-item" href="#"><i class="fas fa-user me-2"></i>Profilo</a></li>
<li><a class="dropdown-item" href="#"><i class="fas fa-cog me-2"></i>Impostazioni</a></li>
<li><hr class="dropdown-divider"></li>
<li>
<form method="POST" action="{{ route('logout') }}" class="d-inline">
@csrf
<button type="submit" class="dropdown-item">
<i class="fas fa-sign-out-alt me-2"></i>Logout
</button>
</form>
</li>
</ul>
</div>
JAVASCRIPT NECESSARIO
// Assicurarsi che Bootstrap JS sia caricato per dropdown
document.addEventListener('DOMContentLoaded', function() {
// Bootstrap dropdown auto-inizializzazione
var dropdownElementList = [].slice.call(document.querySelectorAll('.dropdown-toggle'));
var dropdownList = dropdownElementList.map(function (dropdownToggleEl) {
return new bootstrap.Dropdown(dropdownToggleEl);
});
});
PREVENZIONE FUTURA
CHECKLIST MODIFICHE LAYOUT
- ✅ Testare logout funziona
- ✅ Verificare grafica belle mantiene
- ✅ Controllare tutte le pagine principali
- ✅ Pulire cache Laravel
- ✅ Documentare cambiamenti
FILE DA MONITORARE
admin.layouts.netgescon- Layout principale- Tutte le blade in
resources/views/admin/ - Tutte le blade in
resources/views/superadmin/
BACKUP IMPORTANTE
Prima di modifiche ai layout, backup di:
resources/views/admin/layouts/netgescon.blade.php- Lista completa pagine con layout corretto
LOGS SESSIONE RISOLUZIONE
22/07/2025 - RISOLUZIONE COMPLETA
Problema: Regressione grafica dopo implementazione logout
Causa: Pagine con @extends('layouts.app-universal-v2')
Soluzione: Cambio a @extends('admin.layouts.netgescon')
Pagine sistemate: 8 admin pages + 3 superadmin pages
Risultato: ✅ Logout funzionale + ✅ Grafica bella mantenuta
COMMAND LOG
# Comandi eseguiti
grep -r "@extends('layouts.app-universal-v2')" resources/views/
# Sostituzioni multiple con replace_string_in_file
php artisan view:clear && php artisan config:clear && php artisan route:clear
NOTA: Questo documento deve essere aggiornato ogni volta che si interviene sui layout per mantenere traccia delle modifiche e prevenire regressioni future.