/

Scegliere un framework UI (none / Tailwind / Bootstrap)

Un'unica impostazione di configurazione decide come vengono stilizzati ogni griglia, modulo e pulsante nell'intera installazione.

XcrudConfig::$ui

Ogni scelta visiva che xCRUD Nova Pro compie - classi dei pulsanti, bordi delle tabelle, chrome delle modali, stile dei controlli di modulo - è guidata da un unico interruttore a stringa in src/Config.php:

public static string $ui = 'tailwind';
ValoreDescrizione
'none'Tema "registro cartaceo" integrato, a dipendenza zero - un CSS scritto a mano con proprietà personalizzate (--xcrud-pine, --xcrud-radius e simili), nessuna richiesta CDN.
'tailwind'Carica la build CDN di Tailwind più Google Fonts (Inter per il testo UI, JetBrains Mono per monospace/codice). Questo è il valore predefinito.
'bootstrap'Classi e componenti in stile Bootstrap, caricati da CDN.

È globale, non per pagina

A differenza della maggior parte delle impostazioni di Xcrud, $ui non ha alcuna sovrascrittura per widget - non esiste una chiamata ->ui('bootstrap') sulla classe Xcrud. Ogni pagina, ogni widget, ogni helper consapevole del tema (Xcrud::uiAssets(), i globali JS window.Xcrud) legge lo stesso valore valido per l'intera installazione. Cambiarlo restila l'intera applicazione in un colpo solo, ed è proprio questo il punto - un'installazione con temi misti significherebbe inviare più copie di CSS/JS CDN alla stessa pagina senza alcun vantaggio.

Come è strutturato un tema

Ogni valore di $ui corrisponde a una cartella sotto themes/{ui}/:

FileScopo
theme.jsUna mappa di stringhe di classi che il widget lato client legge al momento della costruzione - si registra in window.XcrudThemes[ui], e deve caricarsi prima di core/xcrud.js stesso.
assets.php (opzionale)Qualsiasi cosa extra di cui il tema ha bisogno in <head> - tag <script>/<link> CDN, link a Google Fonts, configurazione del framework. Un tema senza nulla di extra (come 'none', che richiede solo il proprio xcrud.css) può saltare completamente questo file.

Entrambi i file vengono emessi automaticamente da render() per una normale pagina con widget. Una pagina senza widget che vuole comunque gli asset del tema (un pulsante personalizzato, un toast autonomo) chiama direttamente Xcrud::uiAssets() - vedi Frontend disaccoppiati e CORS per questo schema.

<script src="themes/<?= XcrudConfig::$ui ?>/theme.js"></script>
<?= Xcrud::uiAssets() ?>

Quale scegliere

Scegli 'none' per un'installazione a dipendenza zero (nessuna raggiungibilità CDN richiesta, payload minimo), 'tailwind' se il tuo sito si basa già su classi utility o vuoi l'aspetto predefinito senza alcuna configurazione, e 'bootstrap' se il resto della tua applicazione è già basato su Bootstrap e vuoi che le schermate CRUD corrispondano visivamente.