2012-02-26 29 views

回答

14

定義自己的宏在•奈特框架非常簡單, 首先你必須創建MacroSet:

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

然後創建新宏與ARGS:

$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中,您可以註冊您的macroS et:

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

噢,謝謝,這比我希望的更整潔。 – 2012-02-26 21:30:34