可否支持layout?
发布于:2022-01-17 09:50:54
#1 flyingbug
就是可以支持默认布局,比如每个页面都会出现的top.html和footer.html,这样就不用每个页面都include了
不过我猜测这样可能会对ajax输出产生问题
另外,我对Smarty等模板不熟,不知道一般用模板的话,是不是有其他解决办法
2011-03-28 07:35:42
#2 jake
smarty的layout就是include,可以看看
http://www.smarty.net/docs/en/先用用smarty,有意见再提,我们来研究研究。
layout的概念只是在.NET的IDE中比较明显而已。
2011-03-28 08:19:57
#3 flyingbug
恩,看了,可能老大比较习惯Smarty的方式
似乎主流的php框架也都支持layout方法,最早接触是在rails,我对.NET不熟
不过include倒是也能解决,就是每个文件多加两行代码,不过有时候会忘记加,比较麻烦
2011-03-28 08:46:54
#4 jake
不说,只对比:
thinkphp,布局模板
http://www.thinkphp.cn/Manual/132 smarty,包含文件
http://www.smarty.net/docs/en/language.function.include.tpl{include file='page_header.tpl' cache_lifetime=60}
{include file="$tpl_name.tpl" cache_lifetime=60}
{include file='page_footer.tpl' cache_lifetime=60}
这里不是说支持不支持的问题,而是“名称不同”。都是以单一的模板进行页头页脚模板的包含,然后再通过输入的变量,获取某个当前页面的模板。
speedphp之所以直接用smarty作为view,不单是因为smarty是PHP官方的并且历史悠久,而且还因为smarty几乎可以实现一切框架在视图方面的特性。
建议楼上可以熟悉一下smarty,这样会更有利于比较两者。
2011-03-28 09:10:42
#6 flyingbug
明白了,多谢jake!
2011-03-28 09:14:48
#7 jake
明白了,多谢jake!
flyingbug 发表于 2011-3-28 09:14 
如果能够做到,包含的不是一个“模板”,而是一个“控制器/动作”的话,会更好。目前这个正在研究。。。
2011-03-28 09:22:30
#8 jake
目前已经开始研究layout模式在smarty中的直接实现:lol
2011-04-23 07:49:09
#9 霸气千秋
如果header和footer中存在变量的话,这样做的麻烦了,
2012-05-07 09:17:00
#10 jake
开发版中已经实现了layout
2012-05-07 09:55:54
#11 蔓荆子_金刚电商
能否做一个例子介绍一下,我看到开发版里有这个功能,很想要这个功能。谢谢
2013-05-06 17:26:10