Theme Controller

TsgcHTMLThemeController / TsgcHTMLThemeBuilder — gérez les thèmes clair, sombre et système sur toutes les pages et générez des blocs de variables CSS Bootstrap pour les couleurs de marque personnalisées.

TsgcHTMLThemeController & TsgcHTMLThemeBuilder

TsgcHTMLThemeController lit un cookie ou un paramètre de requête pour déterminer quel thème Bootstrap activer et injecte le script d'initialisation requis. TsgcHTMLThemeBuilder génère un bloc <style> qui remplace les variables CSS Bootstrap par les couleurs de votre marque.

Classes du composant

TsgcHTMLThemeController, TsgcHTMLThemeBuilder

Rôle

Thèmes clair/sombre & CSS personnalisé

Langages

Delphi, C++ Builder, .NET

Changer de thème, injecter des couleurs personnalisées

Utilisez TsgcHTMLThemeController pour lire un cookie ou un paramètre de requête et appliquer l'attribut de thème Bootstrap correct. Utilisez TsgcHTMLThemeBuilder pour émettre un bloc de variables CSS personnalisées pour les couleurs de votre marque.

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

Propriétés et méthodes clés

Les membres les plus fréquemment utilisés.

TsgcHTMLThemeController.CookieName

Nom du cookie qui stocke la préférence de thème de l'utilisateur (htLight / htDark / htSystem).

TsgcHTMLThemeController.DefaultTheme

Thème de repli lorsqu'aucun cookie ou paramètre de requête n'est présent.

GetThemeScript

Lit le thème actif depuis la requête (cookie ou paramètre ?theme=) et retourne le script d'initialisation du thème Bootstrap à injecter dans <head>.

TsgcHTMLThemeBuilder.PrimaryColor

Remplace la variable CSS Bootstrap --bs-primary par la couleur de votre marque.

TsgcHTMLThemeBuilder.CustomVars

Déclarations de propriétés CSS personnalisées brutes ajoutées au bloc <style> généré pour toute variable Bootstrap ou au niveau applicatif.

TsgcHTMLThemeBuilder.Build

Retourne un bloc <style> contenant les remplacements :root ; à assigner à TsgcHTMLTemplate_Bootstrap.HeadContent.

Continuer à explorer

Aide en ligneRéférence API complète et guide d'utilisation pour ce composant.
Tous les composants sgcHTMLParcourez la matrice complète de 60+ composants.
Télécharger l'essai gratuitL'essai de 30 jours inclut les projets de démonstration 60.HTML.
TarifsLicences Single, Team et Site avec code source complet.

Prêt à commencer ?

Téléchargez l'essai gratuit et commencez à créer des interfaces web en Delphi, C++ Builder et .NET.