From fa1b95982a05ca860ada827b9fbdc9def1ac8952 Mon Sep 17 00:00:00 2001 From: Kevin Chabowski Date: Wed, 21 Sep 2011 00:15:45 +0200 Subject: Added documentation, an example program and fixed some bugs... --- example/index.php | 58 +++++++++++++++++++++++++++++++++++ example/templates/src/articles.html | 49 +++++++++++++++++++++++++++++ example/templates/src/custom_tags.tpl | 19 ++++++++++++ example/templates/src/master.html | 41 +++++++++++++++++++++++++ 4 files changed, 167 insertions(+) create mode 100644 example/index.php create mode 100644 example/templates/src/articles.html create mode 100644 example/templates/src/custom_tags.tpl create mode 100644 example/templates/src/master.html (limited to 'example') diff --git a/example/index.php b/example/index.php new file mode 100644 index 0000000..3d2b1ca --- /dev/null +++ b/example/index.php @@ -0,0 +1,58 @@ + will exchange all letters with their uppercase complement +$ste->register_tag("uppercase", + function($ste, $params, $sub) + { + $text = $sub($ste); # Get the tags content + return strtoupper($text); # Return the new text. + } +); + +# will repeat its content n times ( could be used too, but i needed more examples :-P ) +$ste->register_tag("repeat", + function($ste, $params, $sub) + { + $output = ""; + if(!is_numeric($params["n"])) + throw new Exception("Sorry, but parameter n must be a number..."); + + for($i = 0; $i < $params["n"]; ++$i) + $output .= $sub($ste); + + return $output; + } +); + +# assign some data +$ste->vars["users"] = array( + array("name" => "Foo", "username" => "foo", "online" => true), + array("name" => "Bar", "username" => "bar", "online" => false), + array("name" => "Baz", "username" => "baz", "online" => true) +); +$ste->vars["title"] = "cool"; +$ste->vars["articles"] = array( + array("author" => "foo", "title" => "cool article", "timestamp" => 1316553353, "excerpt" => "bla", "full" => "blablabla"), + array("author" => "bar", "title" => "awesome", "timestamp" => 1316552000, "excerpt" => "...", "full" => ".........."), + array("author" => "baz", "title" => " 1316551000, "excerpt" => "...", "full" => ".........."), + array("author" => "baz", "title" => "whatever...", "timestamp" => 1316550000, "excerpt" => "...", "full" => "..........") +); + +# Execute the template and output the result +echo $ste->exectemplate("articles.html"); + +?> diff --git a/example/templates/src/articles.html b/example/templates/src/articles.html new file mode 100644 index 0000000..e007f3e --- /dev/null +++ b/example/templates/src/articles.html @@ -0,0 +1,49 @@ + + +Lets overwrite the content section + +

Some Articles

+ +

$article[title]

+
Author: $article[author]
+
d. M. Y, H:i:s
+
+ + + + First entry, lets show the whole text + $article[full] + + + $article[excerpt] + + +
+
+
+ There are more than 3 articles? + + + + +

There are more articles.

+
+
+ +

Some more useless demo stuff...

+

Counting from 10 to 0...

+

but take only the even ones and multiply by 5...

+ + + $i + + $i * 5
+
+
+
+ +

Repeat some text...

+ +

Bla

+
+
diff --git a/example/templates/src/custom_tags.tpl b/example/templates/src/custom_tags.tpl new file mode 100644 index 0000000..7e821c5 --- /dev/null +++ b/example/templates/src/custom_tags.tpl @@ -0,0 +1,19 @@ +A foreach that will break after 'max' iterations + + + + + + + + + + + $_tag_parameters[counter] + + $i + + + + + diff --git a/example/templates/src/master.html b/example/templates/src/master.html new file mode 100644 index 0000000..fe6b1e6 --- /dev/null +++ b/example/templates/src/master.html @@ -0,0 +1,41 @@ + + + + ?{$title|$title - example|example}If $title given, set title to "$title - example", else "example" + + + + +

example

+ +
+ + Default content. + +
+
+ +

List of users

+ Lets loop through the users... +
    + +
  • $user[name] ($user[username])
  • +
    +
+
+
+ + -- cgit v1.2.3-70-g09d2