| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 | 
							- <!doctype html>
 
- <title>CodeMirror: Smarty mode</title>
 
- <meta charset="utf-8"/>
 
- <link rel=stylesheet href="../../doc/docs.css">
 
- <link rel="stylesheet" href="../../lib/codemirror.css">
 
- <script src="../../lib/codemirror.js"></script>
 
- <script src="smarty.js"></script>
 
- <style type="text/css">.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
 
- <div id=nav>
 
-   <a href="http://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png"></a>
 
-   <ul>
 
-     <li><a href="../../index.html">Home</a>
 
-     <li><a href="../../doc/manual.html">Manual</a>
 
-     <li><a href="https://github.com/codemirror/codemirror">Code</a>
 
-   </ul>
 
-   <ul>
 
-     <li><a href="../index.html">Language modes</a>
 
-     <li><a class=active href="#">Smarty</a>
 
-   </ul>
 
- </div>
 
- <article>
 
- <h2>Smarty mode</h2>
 
- <form><textarea id="code" name="code">
 
- {extends file="parent.tpl"}
 
- {include file="template.tpl"}
 
- {* some example Smarty content *}
 
- {if isset($name) && $name == 'Blog'}
 
-   This is a {$var}.
 
-   {$integer = 451}, {$array[] = "a"}, {$stringvar = "string"}
 
-   {assign var='bob' value=$var.prop}
 
- {elseif $name == $foo}
 
-   {function name=menu level=0}
 
-     {foreach $data as $entry}
 
-       {if is_array($entry)}
 
-         - {$entry@key}
 
-         {menu data=$entry level=$level+1}
 
-       {else}
 
-         {$entry}
 
-       {/if}
 
-     {/foreach}
 
-   {/function}
 
- {/if}</textarea></form>
 
-     <script>
 
-       var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
 
-         lineNumbers: true,
 
-         mode: "smarty"
 
-       });
 
-     </script>
 
-     <br />
 
- 	<h3>Smarty 2, custom delimiters</h3>
 
-     <form><textarea id="code2" name="code2">
 
- {--extends file="parent.tpl"--}
 
- {--include file="template.tpl"--}
 
- {--* some example Smarty content *--}
 
- {--if isset($name) && $name == 'Blog'--}
 
-   This is a {--$var--}.
 
-   {--$integer = 451--}, {--$array[] = "a"--}, {--$stringvar = "string"--}
 
-   {--assign var='bob' value=$var.prop--}
 
- {--elseif $name == $foo--}
 
-   {--function name=menu level=0--}
 
-     {--foreach $data as $entry--}
 
-       {--if is_array($entry)--}
 
-         - {--$entry@key--}
 
-         {--menu data=$entry level=$level+1--}
 
-       {--else--}
 
-         {--$entry--}
 
-       {--/if--}
 
-     {--/foreach--}
 
-   {--/function--}
 
- {--/if--}</textarea></form>
 
-     <script>
 
-       var editor = CodeMirror.fromTextArea(document.getElementById("code2"), {
 
-         lineNumbers: true,
 
-         mode: {
 
-           name: "smarty",
 
-           leftDelimiter: "{--",
 
-           rightDelimiter: "--}"
 
-         }
 
-       });
 
-     </script>
 
- 	<br />
 
- 	<h3>Smarty 3</h3>
 
- 	<textarea id="code3" name="code3">
 
- Nested tags {$foo={counter one=1 two={inception}}+3} are now valid in Smarty 3.
 
- <script>
 
- function test() {
 
- 	console.log("Smarty 3 permits single curly braces followed by whitespace to NOT slip into Smarty mode.");
 
- }
 
- </script>
 
- {assign var=foo value=[1,2,3]}
 
- {assign var=foo value=['y'=>'yellow','b'=>'blue']}
 
- {assign var=foo value=[1,[9,8],3]}
 
- {$foo=$bar+2} {* a comment *}
 
- {$foo.bar=1}  {* another comment *}
 
- {$foo = myfunct(($x+$y)*3)}
 
- {$foo = strlen($bar)}
 
- {$foo.bar.baz=1}, {$foo[]=1}
 
- Smarty "dot" syntax (note: embedded {} are used to address ambiguities):
 
- {$foo.a.b.c}      => $foo['a']['b']['c']
 
- {$foo.a.$b.c}     => $foo['a'][$b]['c']
 
- {$foo.a.{$b+4}.c} => $foo['a'][$b+4]['c']
 
- {$foo.a.{$b.c}}   => $foo['a'][$b['c']]
 
- {$object->method1($x)->method2($y)}</textarea>
 
- 	<script>
 
- 		var editor = CodeMirror.fromTextArea(document.getElementById("code3"), {
 
- 			lineNumbers: true,
 
- 			mode: "smarty",
 
- 			smartyVersion: 3
 
- 		});
 
- 	</script>
 
-     <p>A plain text/Smarty version 2 or 3 mode, which allows for custom delimiter tags.</p>
 
-     <p><strong>MIME types defined:</strong> <code>text/x-smarty</code></p>
 
-   </article>
 
 
  |