atukai/theme-middleware

支持 Zend Expressive 的主题

0.1.2 2017-07-20 21:24 UTC

This package is auto-updated.

Last update: 2024-09-07 04:04:17 UTC


README

支持主题中间件,允许在主题间切换。它通常是为 Zend Expressive 设计的。

安装

composer require atukai/theme-middleware

用法

Zend Expressive:

从 ConfigProvider.php 包含配置。建议使用 [Expressive 配置管理器] (https://github.com/mtymek/expressive-config-manager)

$configManager = new ConfigManager([
    ...,
    \At\Theme\ConfigProvider::class,
]);

创建主题文件夹。

./themes

配置您的设置。

'themes' => [
    'theme_paths' => [
         __DIR__ . '/../themes/'        
    ],
];

其他框架:

您应该实现 Zend\Expressive\Template\TemplateRendererInterface 并将其放入容器中的 TemplateRendererInterface::class 键下

解析器

它使用解析器来检测当前应使用的主题名称。默认情况下使用 At\Theme\Resolver\ConfigurationResolver 来获取配置中指定的主题。您可以添加一个或多个解析器并设置优先级。

'themes' => [
    'paths' => [
         __DIR__ . '/../themes/'        
    ],
    'default_theme' => 'default',
    'resolvers' => [
        \At\Theme\Resolver\HttpRequestResolver::class => 20,
    ],
];

资源

'themes' => [
    'paths' => [
         __DIR__ . '/../themes/'        
    ],
    'default_theme' => 'default',
    'resolvers' => [
        \At\Theme\Resolver\HttpRequestResolver::class => 20,
    ],
    'assets' => [
        'paths' => [__DIR__ . '/../themes/default/assets'],
        'cache_dir' => __DIR__ . '/../public'
    ]
];