silverstripe-australia/silverstripe-partial-themes
最新稳定版本:1.0.0
Composer 安装命令:
composer require silverstripe-australia/silverstripe-partial-themes
包简介
A module that allows developers to defined just one a few template over-rides for the base theme templates, applied to just sub-trees of a site
README 文档
README
A module for managing themes a little more flexibly; by applying a theme to a subtree of a site, by specifying just a partial set of templates to make up a 'theme', and by allowing code be bound to the theme implementation.
Partial Themes
Allows for the creation of themes that may override only a part of the 'main' theme. For example, assume you have /themes/simple bound as your main project theme, you can specify another theme alongside this which changes a single template. So assuming you wanted to create another theme, eg /themes/simplesimon that only differed in the way products were displayed, rather than specifying a whole new theme, you would provide just the required template.
/themes/simple
/themes/simple/templates
/themes/simple/templates/Includes
/themes/simple/templates/Includes/Footer.ss
/themes/simple/templates/Includes/SideBar.ss
/themes/simple/templates/Includes/Navigation.ss
/themes/simple/templates/Includes/SidebarMenu.ss
/themes/simple/templates/Includes/Header.ss
/themes/simple/templates/Includes/BreadCrumbs.ss
/themes/simple/templates/Page.ss
/themes/simple/templates/Layout
/themes/simple/templates/Layout/ProductPage.ss
/themes/simple/templates/Layout/Page_results.ss
/themes/simple/templates/Layout/Page.ss
/themes/simplesimon/templates/Layout/ProductPage.ss
Then, inside the CMS, the 'Partial theme' setting field would be set to 'simplesimon'.
Theme Helpers
Rather than specifying theme specific code in the page controller init method, the module looks for a {ThemeName}Helper class to call for before init and after init.
Configuration
Page:
extensions:
- PartialThemesExtension
Controller:
extensions:
- PartialThemesExtension
Project specific requirements
You must have the following defined for the controller(s) that will use partial themes; in particular, the Page_Controller class
public function getViewer($action) { $viewer = parent::getViewer($action); $viewer = $this->overridePartialTemplates($viewer, array(), $action); return $viewer; }
Usage
Once enabled, Theme settings are available on a page's Settings tab.
统计信息
- 总下载量: 3.2k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 4
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: BSD-3-Clause
- 更新时间: 2015-07-16