nette/nette — Issue #417: Latte\Parser add ignoreUnknow macros flag
Author: Vrtak-CZ
Created: 2011-12-16 04:02:22+00:00
State: open

Pokud chci například projet všechny šablony a vytáhnout překlady logicky mě napadně udělat něco jako:

```php
addMacro('_', array($me, 'macroTranslate'));
$me->addMacro('!_', array($me, 'macroTranslate'));

return $me;
}

public function macroTranslate(Nette\Latte\MacroNode $node, $writer)
{
$x = $writer->formatArgs();
$x = "\$this->addTranslation(" . $x . ");";
eval($x); // please don't slap me
}

public function addTranslation($message, $count = NULL)
{
$this->translations[] = $message;
}
}

$parser = new Nette\Latte\Parser;
$macros = TranslateMacro::install($parser);

$template = "Lorem ipsum {include 'bar.latte'} dolor {_'foo'} sit";

$parser->parse($template);

dump($macros->translations);
```

Ale nastane problém protože makro *include* není zaregistrované. Ale proč bych měl v takovém případě registrovat všechna makra když je nepotřebuju?

Hodilo by se mít možnost nastavit že se mají **nezaregistrovaná makra ignorovat**.

PS: Chtěl jsem to rovnou implementovat a poslat pull ale narazil jsem že vlastně nevím kam to do toho parseru dát.