Theme Controller

TsgcHTMLThemeController / TsgcHTMLThemeBuilder — tüm sayfalarda açık, koyu ve sistem temalarını yönetir; özel marka renkleri için Bootstrap CSS değişken blokları üretir.

TsgcHTMLThemeController & TsgcHTMLThemeBuilder

TsgcHTMLThemeController, hangi Bootstrap temasının etkinleştirileceğini belirlemek için bir çerez veya sorgu parametresi okur ve gerekli başlatma betiğini ekler. TsgcHTMLThemeBuilder, Bootstrap CSS değişkenlerini marka renklerinizle geçersiz kılan bir <style> bloğu üretir.

Bileşen sınıfları

TsgcHTMLThemeController, TsgcHTMLThemeBuilder

Rol

Açık/koyu tema ve özel CSS

Diller

Delphi, C++ Builder, .NET

Tema değiştirin, özel renkler ekleyin

Bir çerez veya sorgu parametresini okumak ve doğru Bootstrap teması özelliğini uygulamak için TsgcHTMLThemeController kullanın. Marka renkleriniz için özel bir CSS değişken bloğu yayınlamak üzere TsgcHTMLThemeBuilder kullanın.

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

Temel özellikler ve yöntemler

En sık kullanılan üyeler.

TsgcHTMLThemeController.CookieName

Kullanıcının tema tercihini (htLight / htDark / htSystem) depolayan çerezin adı.

TsgcHTMLThemeController.DefaultTheme

Çerez veya sorgu parametresi olmadığında kullanılan yedek tema.

GetThemeScript

Etkin temayı istekten (çerez veya ?theme= parametresi) okur ve <head>'e eklenecek Bootstrap tema başlatma betiğini döndürür.

TsgcHTMLThemeBuilder.PrimaryColor

Bootstrap'in --bs-primary CSS değişkenini marka renginizle geçersiz kılar.

TsgcHTMLThemeBuilder.CustomVars

Herhangi bir Bootstrap veya uygulama düzeyindeki değişken için üretilen <style> bloğuna eklenen ham CSS özel özellik bildirimleri.

TsgcHTMLThemeBuilder.Build

:root geçersiz kılmalarını içeren bir <style> bloğu döndürür; TsgcHTMLTemplate_Bootstrap.HeadContent'e atayın.

Keşfetmeye devam edin

Çevrimiçi yardımBu bileşen için tam API referansı ve kullanım kılavuzu.
Tüm sgcHTML bileşenleri60'tan fazla bileşenin tam özellik matrisine göz atın.
Ücretsiz deneme sürümünü indirin30 günlük deneme sürümü 60.HTML demo projelerini içerir.
FiyatlandırmaTam kaynak kodlu Tekli, Ekip ve Site lisansları.

Başlamaya hazır mısınız?

Ücretsiz deneme sürümünü indirin ve Delphi, C++ Builder ve .NET'te web kullanıcı arabirimleri oluşturmaya başlayın.