二、子模版
Dwoo支持子模版,这些子模版使得开发者可以在应用中重用它们。子模版的创建方法是使用标签{template}….{/template},其中要提供唯一的名称,以便在其他地方进行引用。而在其他地方引用子模版,可以使用”load template”标签加载。
子模版中可以传递多个参数,下面直接看例子以方便理解。首先编写一个子模版,名称叫slave.tpl,代码如下:
- {template mylist data}
- <ul>
- {foreach $data d}
- <li>{$d}</li>
- {/foreach}
- </ul>
- {/template}
这里,我们把这个子模版命名为mylist,其中有一个循环取读取data变量中的值并输出。
有了子模版后,我们就可以在需要其的地方加载它,比如,在一个模版文件master.tpl中,可以这样调用:
- {load_templates "slave.tpl"}
- {mylist $items}
这里用load_templates加载slave.tpl的子模版,并且为子模版mylist赋值items变量,而items变量可以由如下代码去赋值:
- <?php
- include 'dwooAutoload.php';
- try {
- $dwoo = new Dwoo();
- $tpl = new Dwoo_Template_File('tmpl/master.tpl');
- $data = array();
- $data['items'] = array('red', 'blue', 'green', 'yellow');;
- $dwoo->output($tpl, $data);
- } catch (Exception $e) {
- echo "Error: " . $e->getMessage();
- }
- ?>
可以看到输出如下:
可以看到,子模版的确十分方便使用,而且子模版中的内容一旦变更,其他所有用到子模版地方的内容也会接着变化。
PHP之友评论