快速入门六、用Smarty来显示页面
时间:2009-12-07
来源:互联网
前面我们制作了一个留言本程序。不过因为用了和多echo来输出HTML,代码看起来很乱,而且这样修改起来也比较麻烦。所以本章我们介绍Smarty模板引擎技术,同时把我们的留言本程序也变成应用Smarty模板的程序;还可以做到挺有意思的换皮肤功能。
Smarty留言本例子下载
首先,我们要在根目录中建立tpl(模板文件目录)和tmp(临时文件目录),然后在index.php中配置一下:
我们加入了view的配置,这样就可以使用smarty进行模板的开发了。同时我们将main.php去除了查看内容的页面,让内容和标题都在同一页面显示。
我们下载了留言本的模板后,放到tpl目录下:
=700) window.open('http://speedphp.com/wp/wp-content/uploads/smartyguestbookdir.jpg');" onload="if(this.offsetWidth>'700')this.width='700';if(this.offsetHeight>'700')this.height='700';" >
浏览一下,我们的留言本已经变成了一个白色的留言本了。
所以在我们的sp框架的教程中,页面模板已经都是准备好的,至少是完整的页面(但不包括Smarty代码),这样可以让大家更专注于学习PHP开发。当然我们也将陆续推出一些关于前端网页设计等相关技术的教程,供大家参考学习。
下面我们来学习一下怎么写Smarty模板,打开tpl/white/index.html看看:
我们可以分开两部分进行了解,首先是表单部分:
表单部分使用了spUrl来制作一个表单提交的地址:
<form action="<{spUrl c=main a=write}>" method=POST>
我们在浏览器上面右键看源代码,就可以看到:
<form action="/index.php?c=man&a=write" method=POST>
也就是<{spUrl c=main a=write}>会生成地址:/index.php?c=man&a=write。
然后是循环输出留言记录部分:
这里使用了<{foreach}>来循环$results,以输出name,title和contents几个值。
我们看看生成源代码的结果:
以上我们初步了解了sp框架应用Smarty模板技术的方法以及模板的基础写法,下面我们在代码上面修改一下,让程序变得更有趣。
我们用spArgs来接收一个叫tpl的参数,它默认是green,也就是获取green目录下的模板。如果这参数变成了blue,那么就是获取blue目录下的模板了,这样我们的留言本就可以换皮肤了。当然我们已经在模板上面加上了一个下拉选择来让访问者选择模板,这里我们提供了四套模板。
本文地址:http://speedphp.com/post/view-smarty.html
Smarty留言本例子下载
引用
PHP模板引擎技术是一种将HTML模板与PHP代码分离的技术,同时它提供了简单的模板语法和数据传递的机制,使得我们可以更为简便和安全地进行开发。
引用
Smarty由PHP官方出品,是目前最成熟也是最广泛使用的PHP模板引擎技术。
首先,我们要在根目录中建立tpl(模板文件目录)和tmp(临时文件目录),然后在index.php中配置一下:
复制代码
|
我们加入了view的配置,这样就可以使用smarty进行模板的开发了。同时我们将main.php去除了查看内容的页面,让内容和标题都在同一页面显示。
复制代码
|
我们下载了留言本的模板后,放到tpl目录下:
=700) window.open('http://speedphp.com/wp/wp-content/uploads/smartyguestbookdir.jpg');" onload="if(this.offsetWidth>'700')this.width='700';if(this.offsetHeight>'700')this.height='700';" >
浏览一下,我们的留言本已经变成了一个白色的留言本了。
引用
在日常的团队开发工作中,页面模板首先是由美工人员制作出页面图,然后由前端网页设计人员来根据页面图来进行模板的制作,程序员主要的工作是将模板及PHP程序对接。当然很多情况下网页设计人员和程序员是同一个人,网页设计人员主要的技能要求有:
1.使用DREAMWEAVER等工具进行网页设计能力。
2.能手写基本的HTML代码。
3.初步了解Smarty。
4.熟悉JavaScript,Flash等相关的前端技术。
1.使用DREAMWEAVER等工具进行网页设计能力。
2.能手写基本的HTML代码。
3.初步了解Smarty。
4.熟悉JavaScript,Flash等相关的前端技术。
所以在我们的sp框架的教程中,页面模板已经都是准备好的,至少是完整的页面(但不包括Smarty代码),这样可以让大家更专注于学习PHP开发。当然我们也将陆续推出一些关于前端网页设计等相关技术的教程,供大家参考学习。
下面我们来学习一下怎么写Smarty模板,打开tpl/white/index.html看看:
复制代码
|
我们可以分开两部分进行了解,首先是表单部分:
复制代码
|
表单部分使用了spUrl来制作一个表单提交的地址:
<form action="<{spUrl c=main a=write}>" method=POST>
我们在浏览器上面右键看源代码,就可以看到:
<form action="/index.php?c=man&a=write" method=POST>
也就是<{spUrl c=main a=write}>会生成地址:/index.php?c=man&a=write。
然后是循环输出留言记录部分:
复制代码
|
这里使用了<{foreach}>来循环$results,以输出name,title和contents几个值。
我们看看生成源代码的结果:
复制代码
|
以上我们初步了解了sp框架应用Smarty模板技术的方法以及模板的基础写法,下面我们在代码上面修改一下,让程序变得更有趣。
复制代码
|
本文地址:http://speedphp.com/post/view-smarty.html
[ 此帖被jake在2009-12-08 12:43重新编辑 ]
作者: jake 发布时间: 2009-12-07
在站长网上看到了speedphp ,这个框架,就跟着进了论坛。看了一些教程,就是用smarty显示页面里面,有一个问题,小弟不解,请楼主指点一下。
<ul class="list">
<{foreach from=$results item=one}>
<li><span><{$one.name}></span><a href="#"><{$one.title}></a><br /><{$one.contents}></li>
<{/foreach}>
</ul>
我想知道这个内容连接路径怎么在smarty中实现。看留言本程序是通过下面这段程序来取得的$contentsurl,
foreach($result as $value){ // 循环输出留言信息
$contentsurl = spUrl("main", "show", array('id'=>$value['id'])); // 用spUrl制造查看留言内容页面地址,请注意array('id'=>$value['id'])将传递ID到查看页面,由spArgs来接收。
echo "<p>这里是第{$value['id']}条留言:<a href={$contentsurl} target=_blank>{$value['title']}</a> {$value['name']}</p>";
}
<ul class="list">
<{foreach from=$results item=one}>
<li><span><{$one.name}></span><a href="#"><{$one.title}></a><br /><{$one.contents}></li>
<{/foreach}>
</ul>
我想知道这个内容连接路径怎么在smarty中实现。看留言本程序是通过下面这段程序来取得的$contentsurl,
foreach($result as $value){ // 循环输出留言信息
$contentsurl = spUrl("main", "show", array('id'=>$value['id'])); // 用spUrl制造查看留言内容页面地址,请注意array('id'=>$value['id'])将传递ID到查看页面,由spArgs来接收。
echo "<p>这里是第{$value['id']}条留言:<a href={$contentsurl} target=_blank>{$value['title']}</a> {$value['name']}</p>";
}
作者: jiang3001 发布时间: 2009-12-08
spUrl是地址构造函数
spUrl("main", "show", array('id'=>$value['id']));
将会生成 index.php?c=main&a=show&id=233
spUrl("main", "show", array('id'=>$value['id']));
将会生成 index.php?c=main&a=show&id=233
作者: jake 发布时间: 2009-12-08
spUrl("main", "show", array('id'=>$value['id'])); 这种形式换做在smarty里面怎么写?例如:<{spUrl c=main a=write}>
作者: jiang3001 发布时间: 2009-12-08

作者: jiang3001 发布时间: 2009-12-08
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28