alexwhitman / view-themes
为 Laravel 提供主题化视图支持。
Requires
- php: >=5.3.0
- illuminate/support: 4.2.x
- illuminate/view: 4.2.x
Requires (Dev)
- mockery/mockery: 0.7.x
- phpunit/phpunit: 3.7.x
This package is not auto-updated.
Last update: 2020-01-19 16:48:57 UTC
README
View themes 是一个简单的包,用于为 Laravel 提供主题化视图支持。
安装
将 alexwhitman/view-themes
添加到 composer.json
文件的 require
部分。
"alexwhitman/view-themes": "1.2.x"
运行 composer update
安装最新版本。
配置
此包扩展了 Laravel 内置的 ViewServiceProvider
,因此必须在 app/config/app.php
中替换该提供程序。将 'Illuminate\View\ViewServiceProvider',
替换为 'AlexWhitman\ViewThemes\ViewThemesServiceProvider',
。
配置
默认设置是将主题存储在 app/
目录下的 themes
目录中,默认主题名为 default
。
app/
themes/
default/
views/
要更改这些默认设置,需要使用 artisan config:publish alexwhitman/view-themes
发布包配置。然后可以按需自定义新的配置文件 app/config/packages/alexwhitman/view-themes/config.php
。
用法
对 View::make('index')
的标准调用将在 app/themes/default/views/
中查找 index 视图。然而,如果在调用 View::make()
之前指定了主题 $app['view.finder']->setCurrentTheme('my-theme');
,则视图将首先在 app/themes/my-theme/views
中查找。如果当前主题找不到视图,则将搜索默认主题。
门面
如果更愿意使用 ViewTheme
门面,可以添加 AlexWhitman\ViewThemes\ThemeFacade
到 app/config/app.php
,然后使用 ViewTheme::setCurrentTheme('my-theme')
。
示例
假设目录结构为
app/
themes/
default/
views/
layout.blade.php
admin.blade.php
my-theme/
views/
layout.blade.php
View::make('layout'); // Loads app/themes/default/views/layout.blade.php
$app['view.finder']->setCurrentTheme('my-theme');
View::make('layout'); // Loads app/themes/my-theme/views/layout.blade.php
View::make('admin'); // Loads app/themes/default/views/layout.blade.php
更新日志
1.2.0
- Laravel 4.2 的更新
1.1.2
- 添加获取当前主题路径的功能
1.1.1
- 初始化时清除以前的路径
1.1.0
- Laravel 4.1 的更新
1.0.0
- 首次发布