BaseTheme sınıfı Src\BaseTheme isim uzayı altında bulunur. Src\Theme\ThemeInteface arayüzünü (inteface) içerir.
ThemeInterface arayüzü içinde aşağıdaki metodlar tanımlıdır.
/**
* Set default theme values before preprocess.
*/
public function setDefaults(ControllerInterface $controller);
/**
* Simply render page using controller.
*/
public function render(ControllerInterface $controller);
public static function getTemplateDirectories(): array;
- setDefaults: Sayfa ön işlemden geçmeden önce yapılacak işlemler tanımlanmalıdır.
- BaseTheme içinde aşağıdaki işlemler yapılmaktadır:
- render: CoreDB\Kernel\ControllerInterface arayüzünü içeren bir sınıfı kullanarak render işlemi yapılmalıdır.
- BaseTheme içinde bu işlem şu şekilde yapılmaktadır:
- getTemplateDirectories: Tema render işlemi sırasında kullanılacak twig dosyalarının bulunduğü dizinler dizi halinde dönderilmelidir.
- BaseTheme içinde bu işlem şu şekilde yapılmaktadır:
addDefaultMetaTags(), addDefaultJsFiles(), addDefaultCssFiles(), addDefaultTranslations() tema tarafından sağlanan varsayılan değişkenleri kontrolcü sınıflara yükler.
setDefaults() metodu istenildiği takdirde ezilerek yeni bir yaşam döngüsü, CustomTheme ya da oluşturulacak başka temalar için kurulabilir.