Localizable templates with smooth setup in Nette Framework

Installs: 3 033

Dependents: 0

Suggesters: 0

Stars: 5

Watchers: 6

Forks: 0

Open Issues: 0

2.0.0 2014-05-12 11:22 UTC




  1. Copy source codes from Github or using Composer:
$ composer require dotblue/nette-templating@~1.0
  1. Register as Configurator's extension:
    templateHelpers: DotBlue\Templating\Helpers\Extension
  1. Register your helpers:
    - 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!!!" *}


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}