Extensions for Latte templates
Download a latest package or use Composer:
composer require inteve/latte
Inteve\Latte requires PHP 7.4.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
- BarExtension
Creates 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/