silverstripe-australia/silverstripe-partial-themes 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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

GitHub 信息

  • Stars: 4
  • Watchers: 2
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: BSD-3-Clause
  • 更新时间: 2015-07-16