Nette\Bridges\FormsLatte\FormMacros::macroFormContainer PHP Method

macroFormContainer() public method

..}
public macroFormContainer ( MacroNode $node, PhpWriter $writer )
$node Latte\MacroNode
$writer Latte\PhpWriter
    public function macroFormContainer(MacroNode $node, PhpWriter $writer)
    {
        if ($node->modifiers) {
            throw new CompileException('Modifiers are not allowed in ' . $node->getNotation());
        }
        $name = $node->tokenizer->fetchWord();
        if ($name === FALSE) {
            throw new CompileException('Missing name in ' . $node->getNotation());
        }
        $node->tokenizer->reset();
        return $writer->write('$this->global->formsStack[] = $formContainer = $_form = ' . ($name[0] === '$' ? 'is_object(%node.word) ? %node.word : ' : '') . 'end($this->global->formsStack)[%node.word];');
    }

Usage Example

示例#1
0
 public function macroFormContainer(MacroNode $node, PhpWriter $writer)
 {
     return $this->getBeforeRenderCalling($writer) . parent::macroFormContainer($node, $writer);
 }