piotr-cz/twig-extensions-joomla

Twig - Joomla 框架语言桥接器

v1.1.1 2014-04-26 15:29 UTC

This package is not auto-updated.

Last update: 2024-09-14 16:08:24 UTC


README

扩展提供过滤器,允许在 Joomla-Framework 包(如 语言包)中,在 Twig 模板中使用。

安装

"piotr-cz/twig-extensions-joomla": "~1.0" 添加到 composer.json 中的 require 块,然后运行 composer install

{
	"require": {
		"piotr-cz/twig-extensions-joomla": "~1.0"
	}
}

文本扩展

假设您将使用 Composer 来处理自动加载。

设置

将扩展添加到 Twig 环境中

// Configure Twig
$loader = new \Twig_Loader_Filesystem(JPATH_TEMPLATES);
$twig = new \Twig_Environment($loader, $options = array());

// Register Extension
$twig->addExtension(new \TwigJoomla\Extension\TextExtension);

// Render Template
$template = $twig->loadTemplate('test.twig');
echo $template->render();

用法

扩展能够调用 Text 的任何公共方法(如 Text::_()Text::sprintf() 等)。

接受参数

  • $method Text 方法
  • Text 参数

_ 方法(默认)

Twig 模板

{{ "IMADEIT" | jtext }}

语言文件

IMADEIT 	= "I made it!"

结果

I made it!

sprintf 方法

Twig 模板

{{ "HELLOW" | jtext('sprintf', 'World') }}

语言文件

HELLOW		="Hello %s!"

结果

Hello World!

日期扩展

此扩展允许使用本地化的日期输出,而不是使用 PHP intl 扩展,而是使用 语言包。从 JDate 包 导入关键函数。

设置

$twig->addExtension(new \Twigoomla\Extension\DateExtension($config->get('timezone')));

用法

接受参数

  • $format DateTime 格式
  • $timezone 字符串或 DateTimeZone 对象(可选)

Twig 模板

{{ event.on | jdate('l, j. F Y') }}

语言文件

SUNDAY		="neděle"
JUNE		="červen"

结果

neděle, 1. červen 2014

应用程序设置

有关如何在您的应用程序中设置 Language 包的说明,请参阅 Joomla-Framework/Language 包。

运行测试

$ composer install
$ phpunit

许可协议

这些扩展在 MIT 许可协议下发布,除了日期扩展,它在 GPL2 许可协议下发布。