Smarty模板驱动编程

有的时候需求变动太大,页面的需求经常变动,仅仅页面样式的调整倒还好, 重新套一下页面就好了,经常连功能带页面完全改版,这样大动干戈搞的代码差不多要重写一遍!如果DAO Module Controller 再没封装完全就是重写一遍了。 今天我们介绍一种开发模式叫模板驱动编程。 将一部分逻辑放在模板上边, 这样当需求变动的时候调整一些参数就OK了, 不需要大动干戈地去修改Ctrol层和Module层的代码。 首先要普及一下Smarty模板的block, 不会的可以下个手册自己看。 block 是一种自定义的标签。 function smarty_block_articlelist($params, $content, &$smarty) { //取参数作者 $author = $param['author']; //取该作者的所有文章 $list = $articleModule->getList(array('author' => $author)); //将值赋给模板 $smarty->assign('list', $list); return $content; //这里一定要返回,要不不会显 示。 } $smarty->register_block("articlelist","smarty_block_articlelist",false); // false 是表示不缓存 模板里边这样用 {articlelist author='jeffjing'} JeffJing的专栏 {foreach $list as $value} {$value['title']} {/foreach} {/articlelist} 我这个仅仅是一个简单的DEMO, 当然你的 block 可以写的更强大一点, [...]

posted on 2011-03-11 14:22  Megratron  阅读(108)  评论(0编辑  收藏  举报

导航