PEEL Shopping
Open source ecommerce : PEEL Shopping
Embed.php
Go to the documentation of this file.
1 <?php
2 
3 /*
4  * This file is part of Twig.
5  *
6  * (c) 2012 Fabien Potencier
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11 
16 {
24  public function parse(Twig_Token $token)
25  {
26  $stream = $this->parser->getStream();
27 
28  $parent = $this->parser->getExpressionParser()->parseExpression();
29 
30  list($variables, $only, $ignoreMissing) = $this->parseArguments();
31 
32  // inject a fake parent to make the parent() function work
33  $stream->injectTokens(array(
35  new Twig_Token(Twig_Token::NAME_TYPE, 'extends', $token->getLine()),
36  new Twig_Token(Twig_Token::STRING_TYPE, '__parent__', $token->getLine()),
37  new Twig_Token(Twig_Token::BLOCK_END_TYPE, '', $token->getLine()),
38  ));
39 
40  $module = $this->parser->parse($stream, array($this, 'decideBlockEnd'), true);
41 
42  // override the parent with the correct one
43  $module->setNode('parent', $parent);
44 
45  $this->parser->embedTemplate($module);
46 
47  $stream->expect(Twig_Token::BLOCK_END_TYPE);
48 
49  return new Twig_Node_Embed($module->getAttribute('filename'), $module->getAttribute('index'), $variables, $only, $ignoreMissing, $token->getLine(), $this->getTag());
50  }
51 
52  public function decideBlockEnd(Twig_Token $token)
53  {
54  return $token->test('endembed');
55  }
56 
62  public function getTag()
63  {
64  return 'embed';
65  }
66 }
Represents an embed node.
Definition: Embed.php:17
decideBlockEnd(Twig_Token $token)
Definition: Embed.php:52
Includes a template.
Definition: Include.php:22
Embeds a template.
Definition: Embed.php:15
parse(Twig_Token $token)
Parses a token and returns a node.
Definition: Embed.php:24
getTag()
Gets the tag name associated with this token parser.
Definition: Embed.php:62
const BLOCK_END_TYPE
Definition: Token.php:28
Represents a Token.
Definition: Token.php:18
const NAME_TYPE
Definition: Token.php:30
getLine()
Gets the line.
Definition: Token.php:94
test($type, $values=null)
Tests the current token for a type and/or a value.
Definition: Token.php:75
const STRING_TYPE
Definition: Token.php:32
const BLOCK_START_TYPE
Definition: Token.php:26

This documentation for Open ecommerce PEEL Shopping and PEEL.fr has been generated by Doxygen on Thu Oct 15 2015 14:41:18 - Peel ecommerce is a product of Agence web Advisto SAS. All rights reserved.