Nette Framework - макросы пользовательских атрибутов - PullRequest
7 голосов
/ 26 февраля 2012

Как лучше всего определить новые макросы атрибутов в Nette Framework ?

Кроме того, возможно ли это сделать в файле конфигурации?

1 Ответ

15 голосов
/ 27 февраля 2012

определить свой собственный макрос очень просто в Nette Framework, сначала вы должны создать MacroSet:

$latte = new Nette\Latte\Engine;
$set = new Nette\Latte\Macros\MacroSet($latte->compiler);

, а затем создать новый макрос с аргументами:

$set->addMacro('if', 'if (%node.args):', 'endif');

И решение для вашего второговопрос:

Class MyMacroSet extends Nette\Latte\Macros\MacroSet
{
    public static function install(Nette\Latte\Compiler $compiler)
    {
        $compiler->addMacro('if', 'if (%node.args):', 'endif');
    }
}

и в config.neon вы можете зарегистрировать свой макрос.Набор:

nette.latte:
                setup:
                        - MyMacroSet::install($service->compiler)
...