Theme Controller

TsgcHTMLThemeController / TsgcHTMLThemeBuilder — beheer lichte, donkere en systeemthema's op alle pagina's en genereer Bootstrap CSS-variabeleblokken voor aangepaste merkkleuren.

TsgcHTMLThemeController & TsgcHTMLThemeBuilder

TsgcHTMLThemeController leest een cookie of queryparameter om te bepalen welk Bootstrap-thema geactiveerd moet worden en injecteert het vereiste initialisatiescript. TsgcHTMLThemeBuilder genereert een <style>-blok dat Bootstrap CSS-variabelen overschrijft met uw merkkleuren.

Componentklassen

TsgcHTMLThemeController, TsgcHTMLThemeBuilder

Rol

Licht/donker thema's en aangepaste CSS

Talen

Delphi, C++ Builder, .NET

Wissel van thema, injecteer aangepaste kleuren

Gebruik TsgcHTMLThemeController om een cookie of queryparameter te lezen en het juiste Bootstrap-thema-attribuut toe te passen. Gebruik TsgcHTMLThemeBuilder om een aangepast CSS-variabeleblok voor uw merkkleuren uit te zenden.

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();

Belangrijkste eigenschappen en methoden

De leden die u het vaakst gebruikt.

TsgcHTMLThemeController.CookieName

Naam van de cookie die de themavoorkeur van de gebruiker opslaat (htLight / htDark / htSystem).

TsgcHTMLThemeController.DefaultTheme

Fallback-thema wanneer er geen cookie of queryparameter aanwezig is.

GetThemeScript

Leest het actieve thema uit het verzoek (cookie of ?theme=-parameter) en geeft het Bootstrap-thema-initialisatiescript terug om in <head> te injecteren.

TsgcHTMLThemeBuilder.PrimaryColor

Overschrijft Bootstrap's --bs-primary CSS-variabele met uw merkkleur.

TsgcHTMLThemeBuilder.CustomVars

Onbewerkte CSS-aangepaste eigenschapsverklaringen toegevoegd aan het gegenereerde <style>-blok voor elke Bootstrap- of app-niveau-variabele.

TsgcHTMLThemeBuilder.Build

Geeft een <style>-blok terug met de :root-overschrijvingen; wijs toe aan TsgcHTMLTemplate_Bootstrap.HeadContent.

Blijf verkennen

Online helpVolledige API-referentie en gebruikshandleiding voor dit onderdeel.
Alle sgcHTML-componentenBlader door de volledige functiematrix van 60+ componenten.
Download gratis proefversieDe proefversie van 30 dagen bevat de 60.HTML-demoprojecten.
PrijzenEnkelvoudige, team- en sitelicenties met volledige broncode.

Klaar om te beginnen?

Download de gratis proefversie en begin met het bouwen van web-UI's in Delphi, C++ Builder en .NET.