Extensions for Latte templates
Download a latest package or use Composer:
composer require inteve/latte
Inteve\Latte requires PHP 8.0 or later and Latte 2.
\Inteve\Latte\ExtensionInstaller::install($latte, [
new FooExtension,
new BarExtension,
]);or via Nette DI extension:
extensions:
inteve.latte: Inteve\Latte\DIExtension
services:
- FooExtension
- BarExtensionCreates new Latte tag {icon foo}. Saves icon code directly to compiled template. Requires implementation PHIG's HtmlIcons interface.
\Inteve\Latte\ExtensionInstaller::install($latte, [
new \Inteve\Latte\IconExtension($phigIcons),
]);{icon myIcon}Creates new Latte filter |typography.
\Inteve\Latte\ExtensionInstaller::install($latte, [
new \Inteve\Latte\TypographyExtension,
]);{='My a text'|typography} {* prints 'My a text' *}Just extends Inteve\Latte\Extension:
class MyExtension extends \Inteve\Latte\Extension
{
/**
* @return array<callable(\Latte\Compiler):void>
*/
public function getTags(): array
{
return [
function (\Latte\Compiler $compiler) {
$me = new Latte\Macros\MacroSet($compiler);
$me->addMacro('myTag', ['MyLatteMacros', 'macroMyTag']);
},
];
}
/**
* @return array<string, callable>
*/
public function getFilters(): array
{
return [
'myFilter' => function ($value) {
return $value,
},
];
}
/**
* @return array<string, mixed>
*/
public function getProviders(): array
{
return [
'myProvider' => 'foo bar',
];
}
}License: New BSD License
Author: Jan Pecha, https://www.janpecha.cz/