dotblue/nette-templating

在 Nette 框架中具有平滑设置的本地化模板

2.0.0 2014-05-12 11:22 UTC

This package is not auto-updated.

Last update: 2024-09-14 15:23:41 UTC


README

要求

安装

  1. 从 Github 复制源代码或使用 Composer
$ composer require dotblue/nette-templating@~1.0
  1. 注册为配置器扩展
extensions:
    templateHelpers: DotBlue\Templating\Helpers\Extension
  1. 注册您的助手
templateHelpers:
    - ShoutHelper

如何设计 MyHelper

use DotBlue\Templating\Helpers;

class ShoutHelper implements Helpers\IHelper
{

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

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

}

所有参数都封装在 Options 对象中。

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

本地化

您可以在模板中使用新的宏 {locale $language /}(最佳位置是布局)。提供的 $language 变量随后通过 Options 对象在助手可用

$language = $options->getLocale();

$language 可以是您想要的任何内容。您也可以在模板中多次放置 {locale} 宏,例如使用假设的 currency 助手打印所有本地化版本的金额

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