# 📋 LAYOUT BASE OBBLIGATORIO
## Template fondamentale per tutti i moduli NetGescon
---
## 🗂️ **STRUTTURA BLADE MASTER**
### **File**: `resources/views/admin/{modulo}/index.blade.php`
```blade
@extends('admin.layouts.netgescon')
@section('title', 'Nome Modulo')
@section('content')
@yield('stats-cards')
@yield('main-content')
@endsection
@push('styles')
@yield('module-styles')
@endpush
@push('scripts')
@yield('module-scripts')
@endpush
```
---
## 🔧 **ELEMENTI OBBLIGATORI**
### ✅ **1. Extends Layout**
```blade
@extends('admin.layouts.netgescon')
```
**Utilizza sempre il layout NetGescon principale**
### ✅ **2. Title Section**
```blade
@section('title', 'Nome Modulo')
```
**Imposta title per tab browser e header**
### ✅ **3. Content Wrapper**
```blade
```
**Container principale AdminLTE**
### ✅ **4. Breadcrumb Navigation**
```blade
- Home
- Nome Modulo
```
**Navigazione contestuale obbligatoria**
### ✅ **5. Menu Tabs Container**
```blade
```
**Container per menu navigazione**
### ✅ **6. Content Sections**
```blade
@yield('stats-cards')
@yield('main-content')
```
**Aree contenuto standardizzate**
---
## 🎯 **VARIABILI DA SOSTITUIRE**
### **Per ogni nuovo modulo sostituisci**:
- `{modulo}` → nome modulo (es: `fornitori`, `gestioni`)
- `Nome Modulo` → nome visualizzato (es: `Fornitori`, `Gestioni`)
- `admin.{modulo}` → route base (es: `admin.fornitori`)
### **Esempio Completo per Modulo Fornitori**:
```blade
@extends('admin.layouts.netgescon')
@section('title', 'Fornitori')
@section('content')
```
---
## 📂 **FILE STRUCTURE MODULO**
### **Organizzazione cartelle obbligatoria**:
```
resources/views/admin/{modulo}/
├── index.blade.php # Lista principale (usa questo layout)
├── show.blade.php # Dettaglio singolo item
├── create.blade.php # Form creazione
├── edit.blade.php # Form modifica
└── _form.blade.php # Form partial condiviso
```
### **Controller corrispondente**:
```
app/Http/Controllers/Admin/
└── {Modulo}Controller.php
```
### **Routes nel file**:
```
routes/admin.php
```
---
## ⚡ **NEXT STEPS**
### **Dopo aver creato il layout base**:
1. **Implementa menu tabs** → Vedi `02-pattern-menu.md`
2. **Aggiungi cards statistiche** → Vedi `03-cards-statistiche.md`
3. **Crea controller** → Vedi `04-controller-standard.md`
4. **Applica CSS/JS** → Vedi `05-css-javascript.md`
5. **Testa implementazione** → Vedi `06-checklist-implementazione.md`
**📖 Prossimo file: `02-pattern-menu.md`**