Example #1
0
 /**
  * @param \Latte\MacroNode $node
  * @param \Latte\PhpWriter $writer
  * @return string
  */
 public function macroIncludeBlock(MacroNode $node, PhpWriter $writer)
 {
     $node->args = $this->pathResolver->expandPath($node->args, 'Resources/templates');
     $node->tokenizer = new MacroTokens($node->args);
     $writer = new PhpWriter($node->tokenizer);
     return $this->blockMacros->macroIncludeBlock($node, $writer);
 }
Example #2
0
 public function filter(MacroNode $node, PhpWriter $writer)
 {
     $files = array();
     while ($file = $node->tokenizer->fetchWord()) {
         $files[] = $this->wwwDir . '/' . ($this->pathResolver ? $this->pathResolver->expandResource($file) : $file);
     }
     if (!count($files)) {
         throw new CompileException('Missing file name in {js}');
     }
     eval('$args = ' . $writer->formatArray() . ';');
     return '$_control[\'js\']->render(\'' . join('\', \'', $files) . '\', array(\'config\' => ' . var_export($args, true) . '));';
 }