Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Localizable templates with smooth setup in Nette Framework

Requirements

Installation

  1. Copy source codes from Github or using Composer:
$ composer require dotblue/nette-templating@~1.0
  1. Register as Configurator's extension:
extensions:
    templateHelpers: DotBlue\Templating\Helpers\Extension
  1. Register your helpers:
templateHelpers:
    - ShoutHelper

How should MyHelper look?

use DotBlue\Templating\Helpers;

class ShoutHelper implements Helpers\IHelper
{

    public function getName()
    {
        return 'shout';
    }

    public function execute($value, Helpers\Options $options)
    {
        return $value . '!';
    }

}

All arguments are wrapped in Options object.

public function execute($value, Helpers\Options $options)
{
    $mark = $options->first('!');
    return $value . $mark;
}
{var $text = 'Hi'}
{$text|shout:'!!!'} {* print "Hi!!!" *}

Localization

You can use new macro {locale $language /} in your templates (best place is your layout). Provided $language variable is then available in helper via Options object:

$language = $options->getLocale();

$language can be anything you wish. You can also place {locale} macro in template multiple times, for example to print amount of money in all localized versions (using hypothetical currency helper):

{foreach $languages as $language}
    {locale $language}
        {$money|currency}
    {/locale}
{/foreach}

About

Localizable templates with smooth setup in Nette Framework

Resources

Stars

5 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages