hiqdev/yii2-thememanager

Pluggable themes for Yii2

Installs: 32 107

Dependents: 11

Suggesters: 0

Security: 0

Stars: 24

Watchers: 10

Forks: 7

Open Issues: 1

Type:yii2-extension

0.4.1 2022-06-29 18:11 UTC

This package is auto-updated.

Last update: 2024-10-08 13:54:05 UTC


README

Pluggable themes for Yii2

Latest Stable Version Total Downloads Build Status Scrutinizer Code Coverage Scrutinizer Code Quality Dependency Status

This Yii2 plugin provides easy theming for Yii2 projects. And allows to create and use themes as composer packages. So changing a theme on a site becomes as simple as changing a single require line in composer.json.

At the moment there are several themes available:

Installation

This package is not intended to be required directly in your project. Instead you should require theme(s) you've chosen and this package will get required as a dependency.

Please see hiqdev/hisite-template as example of project using this theming library.

Idea

The main goal of this theming library is to allow creation and use of easy pluggable themes: to change a theme on a site it is enough just to require other theme package in project's composer.json.

To achieve this goal several technologies were used:

This package provides:

  • bootrstrappable ThemeManager component that collects and setups in application view proper Theme object with proper pathMap;
  • widgets and menus that can be configured through params and substituted with DI;
  • theme DebugPanel showing actual pathMap.

Configuration

This extension is supposed to be used with composer-config-plugin.

Also you can use it usual way by copy-pasting config. See src/config/web.php for configuration example.

Available configuration parameters:

  • themeManager.defaultTheme - default theme
  • copyright.year - CopyrightYears widget
  • copyright.years
  • logo.url - LogoLink widget
  • logo.name
  • logo.options
  • logo.image
  • logo.imageOptions
  • logo.smallImage
  • logo.smallImageOptions
  • organization.url - OrganizationLink widget
  • organization.name
  • organization.options
  • poweredBy.url - PoweredBy widget
  • poweredBy.name
  • poweredBy.version
  • poweredBy.options
  • socialLinks.links - SocialLinks widget

For more details please see src/config/params.php.

License

This project is released under the terms of the BSD-3-Clause license. Read more here.

Copyright © 2015-2017, HiQDev (http://hiqdev.com/)