Theme Controller

TsgcHTMLThemeController / TsgcHTMLThemeBuilder — gestisce i temi light, dark e di sistema su tutte le pagine e genera blocchi di variabili CSS Bootstrap per i colori del brand personalizzati.

TsgcHTMLThemeController & TsgcHTMLThemeBuilder

TsgcHTMLThemeController legge un cookie o un parametro di query per determinare quale tema Bootstrap attivare e inserisce lo script di inizializzazione richiesto. TsgcHTMLThemeBuilder genera un blocco <style> che sovrascrive le variabili CSS di Bootstrap con i colori del tuo brand.

Classi del componente

TsgcHTMLThemeController, TsgcHTMLThemeBuilder

Ruolo

Tematizzazione light/dark & CSS personalizzato

Linguaggi

Delphi, C++ Builder, .NET

Cambia tema, inserisci colori personalizzati

Usa TsgcHTMLThemeController per leggere un cookie o un parametro di query e applicare il corretto attributo del tema Bootstrap. Usa TsgcHTMLThemeBuilder per emettere un blocco di variabili CSS personalizzato per i colori del tuo brand.

uses
  sgcHTML_ThemeController;

// Detect theme from request cookie:
var
  oTheme: TsgcHTMLThemeController;
begin
  oTheme := TsgcHTMLThemeController.Create(nil);
  try
    oTheme.CookieName    := 'app_theme';
    oTheme.DefaultTheme  := htSystem;
    // Inject into the Bootstrap template:
    oTemplate.HeadContent :=
      oTemplate.HeadContent + oTheme.GetThemeScript(ARequest);
  finally
    oTheme.Free;
  end;
end;

// Generate brand CSS variables:
var
  oBuilder: TsgcHTMLThemeBuilder;
begin
  oBuilder := TsgcHTMLThemeBuilder.Create(nil);
  try
    oBuilder.PrimaryColor   := '#7C3AED';
    oBuilder.SecondaryColor := '#1E293B';
    oTemplate.HeadContent :=
      oTemplate.HeadContent + oBuilder.Build;
  finally
    oBuilder.Free;
  end;
end;
TsgcHTMLThemeController *oTheme = new TsgcHTMLThemeController(NULL);
try
{
  oTheme->CookieName   = "app_theme";
  oTheme->DefaultTheme = htSystem;
  oTemplate->HeadContent += oTheme->GetThemeScript(ARequest);
}
__finally { delete oTheme; }

TsgcHTMLThemeBuilder *oBuilder = new TsgcHTMLThemeBuilder(NULL);
try
{
  oBuilder->PrimaryColor = "#7C3AED";
  oTemplate->HeadContent += oBuilder->Build();
}
__finally { delete oBuilder; }
var themeCtrl = new TsgcHTMLThemeController();
themeCtrl.CookieName   = "app_theme";
themeCtrl.DefaultTheme = TsgcHTMLTheme.htSystem;
template.HeadContent += themeCtrl.GetThemeScript(request);

var themeBuilder = new TsgcHTMLThemeBuilder();
themeBuilder.PrimaryColor = "#7C3AED";
template.HeadContent += themeBuilder.Build();

Proprietà e metodi principali

I membri utilizzati più frequentemente.

TsgcHTMLThemeController.CookieName

Nome del cookie che memorizza la preferenza del tema dell'utente (htLight / htDark / htSystem).

TsgcHTMLThemeController.DefaultTheme

Tema di fallback quando non è presente alcun cookie o parametro di query.

GetThemeScript

Legge il tema attivo dalla richiesta (cookie o parametro ?theme=) e restituisce lo script di inizializzazione del tema Bootstrap da inserire in <head>.

TsgcHTMLThemeBuilder.PrimaryColor

Sovrascrive la variabile CSS --bs-primary di Bootstrap con il colore del tuo brand.

TsgcHTMLThemeBuilder.CustomVars

Dichiarazioni di proprietà personalizzate CSS raw aggiunte al blocco <style> generato per qualsiasi variabile Bootstrap o a livello di app.

TsgcHTMLThemeBuilder.Build

Restituisce un blocco <style> contenente gli override :root; assegnalo a TsgcHTMLTemplate_Bootstrap.HeadContent.

Continua ad esplorare

Guida in lineaRiferimento API completo e guida all'uso per questo componente.
Tutti i componenti sgcHTMLSfoglia la matrice completa di 60+ componenti.
Scarica la versione di prova gratuitaLa versione di prova di 30 giorni include i progetti demo 60.HTML.
PrezziLicenze Single, Team e Site con codice sorgente completo.

Pronto per iniziare?

Scarica la versione di prova gratuita e inizia a creare interfacce web in Delphi, C++ Builder e .NET.