/** * New node is found. * @return bool */ public function nodeOpened(NMacroNode $node) { if ($this->macros[$node->name][2] && $node->htmlNode) { $node->isEmpty = TRUE; $this->compiler->setContext(NLatteCompiler::CONTEXT_DOUBLE_QUOTED); $res = $this->compile($node, $this->macros[$node->name][2]); $this->compiler->setContext(NULL); if (!$node->attrCode) { $node->attrCode = "<?php $res ?>"; } } else { $node->isEmpty = !isset($this->macros[$node->name][1]); $res = $this->compile($node, $this->macros[$node->name][0]); if (!$node->openingCode) { $node->openingCode = "<?php $res ?>"; } } return $res !== FALSE; }