changed the grammar for the short-notation of the block tag to be more consistent...
authorFabien Potencier <fabien.potencier@gmail.com>
Tue, 25 May 2010 14:43:30 +0000 (16:43 +0200)
committerFabien Potencier <fabien.potencier@gmail.com>
Tue, 25 May 2010 14:43:30 +0000 (16:43 +0200)
CHANGELOG
doc/02-Twig-for-Template-Designers.markdown
lib/Twig/TokenParser/Block.php
lib/Twig/TokenParser/Debug.php
lib/Twig/TokenParser/Set.php
test/fixtures/tags/block/basic.test

index e9af763..fc1b1fc 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,9 @@
 * 0.9.7-DEV
 
+Backward incompatibilities:
+ * The short notation of the `block` tag changed.
+
+ * added a 'as' string to the block tag short notation ({% block title "Title" %} must now be {% block title as "Title" %})
  * added an exception when a child template has a non-empty body (as it is always ignored when rendering)
 
 * 0.9.6 (2010-05-12)
index 946dd6e..f33857d 100644 (file)
@@ -296,10 +296,7 @@ following constructs do the same:
 -
 
     [twig]
-    {% block title page_title|title %}
-
-Note that as soon as you specify a second argument it's treated as short block
-and Twig won't look for a closing tag.
+    {% block title as page_title|title %}
 
 Import Context Behavior
 -----------------------
index cbad921..5be60ea 100644 (file)
@@ -33,6 +33,8 @@ class Twig_TokenParser_Block extends Twig_TokenParser
                 }
             }
         } else {
+            $stream->expect(Twig_Token::NAME_TYPE, 'as');
+
             $body = new Twig_NodeList(array(
                 new Twig_Node_Print($this->parser->getExpressionParser()->parseExpression(), $lineno),
             ));
index 1ad985f..01fc6e2 100644 (file)
@@ -1,5 +1,13 @@
 <?php
 
+/*
+ * This file is part of Twig.
+ *
+ * (c) 2009-2010 Fabien Potencier
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
 class Twig_TokenParser_Debug extends Twig_TokenParser
 {
     public function parse(Twig_Token $token)
index 6707e9b..f5f7dab 100644 (file)
@@ -18,7 +18,7 @@ class Twig_TokenParser_Set extends Twig_TokenParser
 
         $capture = false;
         if ($stream->test(Twig_Token::NAME_TYPE, 'as')) {
-            $stream->expect(Twig_Token::NAME_TYPE, 'as');
+            $stream->next();
             list(, $values) = $this->parser->getExpressionParser()->parseMultitargetExpression();
 
             $stream->expect(Twig_Token::BLOCK_END_TYPE);
index 360dcf0..ecb7210 100644 (file)
@@ -2,7 +2,7 @@
 "block" tag
 --TEMPLATE--
 {% block title1 %}FOO{% endblock %}
-{% block title2 foo|lower %}
+{% block title2 as foo|lower %}
 --TEMPLATE(foo.twig)--
 {% block content %}{% endblock %}
 --DATA--