annotate/themes

Annotate Framework 的主题支持

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

This package is not auto-updated.

Last update: 2024-09-28 16:20:39 UTC


README

Travis Code Climate Code Climate

Packagist Packagist Packagist Packagist

Annotate Framework 的主题包

此包提供了强大的主题支持。您可以为每个主题创建模板并覆盖。

要求

主题扩展需要 annotate/templating。也需要在 neon 配置中注册其扩展。

安装

使用 Composer 需要此扩展

$ composer require annotate/themes:~2.1.0

将扩展注册到配置中

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

配置

主题路径可以通过 Neon 配置。默认 directory 值是 %appDir%/app/addons/themes/。要更改主题,请打开 app/config/app.neon 并添加以下配置

themes:
    directory: %appDir%/app/

现在编辑您现有的任何演示者

class FrontendPresenter extends Nette\Application\UI\Presenter
{

	use Annotate\Themes\ThemedPresenter;

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

	public function startup()
	{
		parent::startup();
		$this->themesLoader->activateTheme('theme name');
	}
}

创建主题

在主题目录中创建一个 theme_name.theme.neon 文件,并具有最小结构

name: My theme

继承

主题支持单级继承。您可以通过 neon 文件中的 extends 选项指定父主题。

name: My theme
extends: theme

加载模板

激活主题后,应用将按以下方式搜索模板文件

  1. 搜索 %themeDir%/templates/%templateName
  2. 如果主题继承另一个主题,则搜索 %anotherThemeDir%/templates/%templateName%
  3. 如果上述没有找到模板,它将以正常的 "Nette" 方式搜索文件