Skip to content

Localizable templates with smooth setup in Nette Framework

License

Notifications You must be signed in to change notification settings

dotblue/nette-templating

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

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

License

Stars

Watchers

Forks

Packages

No packages published

Languages