Themes support for Annotate Framework

dev-master 2018-01-21 19:43 UTC

This package is not auto-updated.

Last update: 2023-11-25 12:10:02 UTC


Travis Code Climate Code Climate

Packagist Packagist Packagist Packagist

Themes package for Annotate Framework

This package provides powerfull themes support. You can create theme and override every template in theme.


Themes extension requires annotate/templating. Register its extension to your neon config too.


Require this extension by Composer

$ composer require annotate/themes:~2.1.0

Register extension into configuration:

    templating: Annotate\Templating\DI\TemplatingExtension
    themes: Annotate\Themes\DI\ThemesExtension


Themes path is configurable via Neon. Default directory value is %appDir%/app/addons/themes/. To change themes open app/config/app.neon and add following configuration:

    directory: %appDir%/app/

Now edit any of your presenters:

class FrontendPresenter extends Nette\Application\UI\Presenter

	use Annotate\Themes\ThemedPresenter;

	/** @var Annotate\Themes\Loaders\ThemesLoader @inject */
	public $themesLoader;

	public function startup()
		$this->themesLoader->activateTheme('theme name');

Create theme

Create a file theme_name.theme.neon in themes directory with minimal structure:

name: My theme


Themes support one level inheritance you can specify parent theme by extends option in neon file:

name: My theme
extends: theme

Loading templates

After activating theme app will search for template files this way:

  1. search for %themeDir%/templates/%templateName
  2. in case theme extends another theme it seaches for %anotherThemeDir%/templates/%templateName%
  3. if no template was found above it searches for file in normal "Nette" way