From a89e02637b04b95f50087d53289e8aca8cd58007 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Tue, 2 Nov 2010 13:42:30 +0000 Subject: Fixed #13567 -- Added a 'silent' argument to the cycle tag, so that you can declare a cycle without producing a value in the template. Thanks to anentropic for the suggestion and initial patch, and Ɓukasz Rekucki for the final patch. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://code.djangoproject.com/svn/django/trunk@14439 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- docs/ref/templates/builtins.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'docs') diff --git a/docs/ref/templates/builtins.txt b/docs/ref/templates/builtins.txt index 7bb4481904..5fdef71a5f 100644 --- a/docs/ref/templates/builtins.txt +++ b/docs/ref/templates/builtins.txt @@ -140,6 +140,26 @@ In this syntax, each value gets interpreted as a literal string, and there's no way to specify variable values. Or literal commas. Or spaces. Did we mention you shouldn't use this syntax in any new projects? +.. versionadded:: 1.3 + +By default, when you use the ``as`` keyword with the cycle tag, the +usage of ``{% cycle %}`` that declares the cycle will itself output +the first value in the cycle. This could be a problem if you want to +use the value in a nested loop or an included template. If you want to +just declare the cycle, but not output the first value, you can add a +``silent`` keyword as the last keyword in the tag. For example:: + + {% cycle 'row1' 'row2' as rowcolors silent %} + {% for obj in some_list %} + {{ obj }} + {% endfor %} + +This will output a list of ```` elements with ``class`` +alternating between ``row1`` and ``row2``. If the ``silent`` keyword +were to be omitted, ``row1`` would be emitted as normal text, outside +the list of ```` elements, and the first ```` would have a +class of ``row2``. + .. templatetag:: debug debug -- cgit v1.3