Theme Controller

TsgcHTMLThemeController / TsgcHTMLThemeBuilder — zarządzają motywami jasnym, ciemnym i systemowym na wszystkich stronach oraz generują bloki zmiennych CSS Bootstrap dla niestandardowych kolorów marki.

TsgcHTMLThemeController & TsgcHTMLThemeBuilder

TsgcHTMLThemeController odczytuje plik cookie lub parametr zapytania, aby określić, który motyw Bootstrap aktywować, i wstrzykuje wymagany skrypt inicjalizacyjny. TsgcHTMLThemeBuilder generuje blok <style> nadpisujący zmienne CSS Bootstrap kolorami marki.

Klasy komponentów

TsgcHTMLThemeController, TsgcHTMLThemeBuilder

Rola

Motywowanie jasne/ciemne i niestandardowy CSS

Języki

Delphi, C++ Builder, .NET

Przełączaj motywy, wstrzykuj niestandardowe kolory

Użyj TsgcHTMLThemeController, aby odczytać plik cookie lub parametr zapytania i zastosować właściwy atrybut motywu Bootstrap. Użyj TsgcHTMLThemeBuilder, aby wygenerować niestandardowy blok zmiennych CSS dla kolorów marki.

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

Główne właściwości i metody

Najczęściej używane elementy.

TsgcHTMLThemeController.CookieName

Nazwa pliku cookie przechowującego preferencję motywu użytkownika (htLight / htDark / htSystem).

TsgcHTMLThemeController.DefaultTheme

Motyw zastępczy, gdy nie ma pliku cookie ani parametru zapytania.

GetThemeScript

Odczytuje aktywny motyw z żądania (plik cookie lub parametr ?theme=) i zwraca skrypt inicjalizacji motywu Bootstrap do wstrzyknięcia w <head>.

TsgcHTMLThemeBuilder.PrimaryColor

Nadpisuje zmienną CSS Bootstrap --bs-primary kolorem marki.

TsgcHTMLThemeBuilder.CustomVars

Surowe deklaracje niestandardowych właściwości CSS dołączane do wygenerowanego bloku <style> dla dowolnej zmiennej Bootstrap lub aplikacji.

TsgcHTMLThemeBuilder.Build

Zwraca blok <style> zawierający nadpisania :root. Przypisz do TsgcHTMLTemplate_Bootstrap.HeadContent.

Kontynuuj eksplorację

Pomoc onlinePełna dokumentacja API i przewodnik użytkowania tego komponentu.
Wszystkie komponenty sgcHTMLPrzeglądaj pełną macierz funkcji 60+ komponentów.
Pobierz bezpłatną wersję próbną30-dniowa wersja próbna zawiera projekty demonstracyjne 60.HTML.
CenyLicencje Single, Team i Site z pełnym kodem źródłowym.

Gotowy do rozpoczęcia?

Pobierz bezpłatną wersję próbną i zacznij tworzyć interfejsy webowe w Delphi, C++ Builder i .NET.