summaryrefslogtreecommitdiff
path: root/docs/designers/language-builtin-functions/language-function-for.md
diff options
context:
space:
mode:
authorSimon Wisselink <wisskid@users.noreply.github.com>2021-12-03 11:59:22 +0100
committerGitHub <noreply@github.com>2021-12-03 11:59:22 +0100
commit428a701b1871b02078a663d51a9a6555195743b3 (patch)
tree51a76b654fb742dd9ea1ee6595baa27f113bc7ca /docs/designers/language-builtin-functions/language-function-for.md
parentbaebd59bb4da9fca89da382811b38c8313949c49 (diff)
downloadsmarty-428a701b1871b02078a663d51a9a6555195743b3.tar.gz
smarty-428a701b1871b02078a663d51a9a6555195743b3.tar.bz2
smarty-428a701b1871b02078a663d51a9a6555195743b3.zip
Feature/add docs (#689)
* Add converted docs repo * Set theme jekyll-theme-minimal * Removed BC docs, added TOC * Added TOCs, rewrote most important links in documentation. Linked README to new Github Pages site * some link fixes
Diffstat (limited to 'docs/designers/language-builtin-functions/language-function-for.md')
-rw-r--r--docs/designers/language-builtin-functions/language-function-for.md97
1 files changed, 97 insertions, 0 deletions
diff --git a/docs/designers/language-builtin-functions/language-function-for.md b/docs/designers/language-builtin-functions/language-function-for.md
new file mode 100644
index 00000000..0545c172
--- /dev/null
+++ b/docs/designers/language-builtin-functions/language-function-for.md
@@ -0,0 +1,97 @@
+{for} {#language.function.for}
+=====
+
+The `{for}{forelse}` tag is used to create simple loops. The following
+different formarts are supported:
+
+- `{for $var=$start to $end}` simple loop with step size of 1.
+
+- `{for $var=$start to $end step $step}` loop with individual step
+ size.
+
+`{forelse}` is executed when the loop is not iterated.
+
+**Attributes:**
+
+ Attribute Name Shorthand Type Required Default Description
+ ---------------- ----------- --------- ---------- --------- --------------------------------
+ max n/a integer No *n/a* Limit the number of iterations
+
+**Option Flags:**
+
+ Name Description
+ --------- --------------------------------------
+ nocache Disables caching of the `{for}` loop
+
+
+ <ul>
+ {for $foo=1 to 3}
+ <li>{$foo}</li>
+ {/for}
+ </ul>
+
+
+
+The above example will output:
+
+
+ <ul>
+ <li>1</li>
+ <li>2</li>
+ <li>3</li>
+ </ul>
+
+
+
+
+ $smarty->assign('to',10);
+
+
+
+
+ <ul>
+ {for $foo=3 to $to max=3}
+ <li>{$foo}</li>
+ {/for}
+ </ul>
+
+
+
+The above example will output:
+
+
+ <ul>
+ <li>3</li>
+ <li>4</li>
+ <li>5</li>
+ </ul>
+
+
+
+
+ $smarty->assign('start',10);
+ $smarty->assign('to',5);
+
+
+
+
+ <ul>
+ {for $foo=$start to $to}
+ <li>{$foo}</li>
+ {forelse}
+ no iteration
+ {/for}
+ </ul>
+
+
+
+The above example will output:
+
+
+ no iteration
+
+
+
+See also [`{foreach}`](#language.function.foreach),
+[`{section}`](#language.function.section) and
+[`{while}`](#language.function.while)