annotate / themes
Annotate Framework 的主题支持
dev-master
2018-01-21 19:43 UTC
Requires
- php: >=5.6
- annotate/diagnostics: @dev
- annotate/templating: @dev
- kdyby/events: ^3.1
- nette/application: ~2.4.0
- nette/bootstrap: ~2.4.0
- nette/di: ~2.4.0
- nette/finder: ~2.4.0
- tracy/tracy: ~2.4.0
Requires (Dev)
- codeclimate/php-test-reporter: @dev
- dotblue/codesniffer-ruleset: @dev
- jakub-onderka/php-console-highlighter: 0.*
- jakub-onderka/php-parallel-lint: 0.*
- latte/latte: ~2.4.0
- nette/tester: @dev
- phpspec/prophecy: ~1.4
- squizlabs/php_codesniffer: ^3.0
This package is not auto-updated.
Last update: 2024-09-28 16:20:39 UTC
README
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
加载模板
激活主题后,应用将按以下方式搜索模板文件
- 搜索
%themeDir%/templates/%templateName
- 如果主题继承另一个主题,则搜索
%anotherThemeDir%/templates/%templateName%
- 如果上述没有找到模板,它将以正常的 "Nette" 方式搜索文件