Example #1
0
	/**
	 * 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;
	}