alexwhitman/view-themes

此包已被弃用且不再维护。未建议替代包。

为 Laravel 提供主题化视图支持。

1.2.0 2014-06-14 16:13 UTC

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\ThemeFacadeapp/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

  • 首次发布