2017 © Pedro PelĂĄez
 

library themes-manager

Package for easier work with themes

image

kappa/themes-manager

Package for easier work with themes

  • Monday, June 13, 2016
  • by Budry
  • Repository
  • 1 Watchers
  • 2 Stars
  • 401 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

Kappa\ThemesManager

Package for easier work with themes, (*1)

Requirements:

Installation:

The best way to install Kappa\ThemesManager is using Composer, (*2)

$ composer require kappa/themes-manager:@dev

Usages

First you must register extension, (*3)

extensions:
    themes: Kappa\ThemesManager\DI\ThemesManagerExtension

Now you can configure templates for your application in config file, (*4)

themes:
    themeName:
        themeDir: %wwwDir%/../../ # required
        assetsDir: :themeDir:/assets # required
        params:
            # params
        helpers:
            # helpers in format helperName: @service::method
        macros:
            # macros
        pathMasks:
            templates:
                # path masks for formatTemplateFiles
            layouts:
                # path masks for formatLayoutTemplateFiles

All settings will be used only in own section., (*5)

In masks you can use next placeholders:, (*6)

  • :themeDir: - contains theme dir path
  • :assetsDir: - contains assets dir path for create temp copy into public directory. In templates now you can use {$assetsDir} variable as base path for scripts, styles and etc... files
  • :presenter: - contains presenter name (without modules)
  • :modules: - contains module name (module name My:Module will be replaced to My/Module)
  • :module_(number): - contains module name (My:Module => module_1 = My, module_2 => Module)
  • :action: - contains presenter acion name
  • :view: - contains presenter view name
  • :themeName: - will be replaced for theme name

In your presenter you can get template factory and file formats, (*7)

Usages kdyby/autowired, it is recommended, (*8)

class BasePresenter extends Presenter
{
    use AutowireProperties;

    /**
     * @var \Kappa\ThemesManager\Theme
     * @autowire(admin, factory=\Kappa\ThemesManager\ThemeRegistry)
     */
    public $theme;

or classic, (*9)

class BasePresenter extends Presenter
{
    /** @var \Kappa\ThemesManager\ThemesRegistry @inject */
    public $themesRegistry;

Update template:, (*10)

public function getTemplateFactory()
{
    $templateFactory = parent::createTemplate();
    // For kdyby/autowired
    $templateFactory->setTheme($this->theme);
    // Else
    $theme = $this->themesRegistry->getTheme('admin');
    $templateFactory->setTheme($theme);

    return $templateFactory;
}

now your presenter have macros, helpers and params from section 'themeName' defined in config file, (*11)

Next you can use custom path masks. Example:, (*12)

public function formatLayoutTemplateFiles()
{
    $list = $this->theme->getPathMapper()->getFormatLayoutTemplateFiles();

    return $list;
}

public function formatTemplateFiles()
{
    $list = $this->theme->getPathMapper()->getFormatTemplateFiles();

    return $list;
}

The Versions

13/06 2016

dev-master

9999999-dev https://github.com/Kappa-org/ThemesManager

Package for easier work with themes

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

manager themes packages kappa