您的位置: 首页 > 技术文档 > 网络编程 > Smarty程序应用范例
回到列表 关于大文件上传的FTP解决方案
 Smarty程序应用范例

作者:Surran 时间: 2005-11-21 文档类型:翻译 来自:蓝色理想

第 1 页 Smarty程序应用范例 [1]
第 2 页 Smarty程序应用范例 [2]
第 3 页 Smarty程序应用范例 [3]
第 4 页 Smarty程序应用范例 [4]
第 5 页 Smarty程序应用范例 [5]

Smarty程序应用范例:留言簿(Guestbook)第五节

我们这个留言簿程序有两个模板文件,一个用来显示留言一个用来书写留言。

/web/www.example.com/smarty/guestbook/templates/guestbook.tpl

{* Smarty *}

<table border="0" width="300">
    <tr>
        <th colspan="2" bgcolor="#d1d1d1">Guestbook Entries (<a href="{$SCRIPT_NAME}?action=add">add</a>)</th>
    </tr>
    {foreach from=$data item="entry"}
        <tr bgcolor="{cycle values="#dedede,#eeeeee" advance=false}">
            <td>{$entry.Name|escape}</td>       
            <td align="right">{$entry.EntryDate|date_format:"%e %b, %Y %H:%M:%S"}</td>       
        </tr>
        <tr>
            <td colspan="2" bgcolor="{cycle values="#dedede,#eeeeee"}">{$entry.Comment|escape}</td>
        </tr>
    {foreachelse}
        <tr>
            <td colspan="2">No records</td>
        </tr>
    {/foreach}
</table>


guestbook.tpl 是用于浏览留言簿的模板文件。它以一个foreach函数从头到尾遍历留言簿的数据,显示出每个留言簿条目的‘Name’、‘Date’和‘Comment’字段信息。‘Date’字段信息经日期格式化调节器(date_format)格式化后显示。 ‘Name’和‘Comment’字段信息使用转码调节器(escape)处理,以便原样显示HTML代码和避免脚本攻击。{cycle} 函数用来在表格中隔两行显示不同的表格背景色。

/web/www.example.com/smarty/guestbook/templates/guestbook_form.tpl


<form action="{$SCRIPT_NAME}?action=submit" method="post">

<table border="1">

    {if $error ne ""}
        <tr>
            <td bgcolor="yellow" colspan="2">
                {if $error eq "name_empty"}You must supply a name.
                {elseif $error eq "comment_empty"} You must supply a comment.
                {/if}
            </td>
        </tr>
    {/if}
    <tr>
        <td>Name:</td>
        <td><input type="text" name="Name" value="{$post.Name|escape}" size="40"></td>
    </tr>
    <tr>
        <td valign="top">Comment:</td>
        <td><textarea name="Comment" cols="40" rows="10">{$post.Comment|escape}</textarea></td>
    </tr>
    <tr>
        <td colspan="2" align="center"><input type="submit" value="Submit"></td>
    </tr>

</table>


</form>

guestbook_form.tpl 是用来书写留言的模板文件。如果因为通不过表单验证产生错误而重新显示表单,已填写的表单内容仍然存在,并且错误代码和错误信息也会显示出来。表单里的内容已经做了HTML转码处理,所以没有了HTML标记或者引号字符的冲突问题。(这个非常重要!)

通过这个范例程序,我们熟悉了几个开发Smarty驱动的程序所需要的关键知识点。如下:

* 所有与页面表现相关的元素都包含在模板文件里。我们没有从模板文件外部指派HTML标签或者其他任何与页面表现相关的元素到模板文件中。唯一从外部指派到页面的只有需要显示的内容,在这里而言就是留言簿的条目。

* 错误提示也由模板文件来维护。我们没有(从模板文件外部)指派错误提示本身,而是指派了错误代码用于确定哪条错误提示需要被显示出来。另一个维护错误提示的方法是使用Smarty的设置文件(config files),在那里(在config file里),我们以“error_code = Error Message”的格式存储错误提示,然后用{$smarty.config.$error_code} 方法根据错误代码显示错误提示。

* PHP 对象(们)相比于过程化的函数+沉闷的参数更能便捷灵活地传递信息从而(应)被广泛使用。(如同sql/template 对象和错误代码的使用)

希望这个范例能给你一个思路,一个在你的程序开发工作中使用Smarty,把程序中的表现逻辑与实现逻辑干净地分离开来的思路。

出处:蓝色理想
责任编辑:moby

上一页 Smarty程序应用范例 [4] 下一页

◎进入论坛网络编程版块参加讨论

热门搜索:CSS Fireworks 设计比赛 网页制作 Dreamweaver Studio8 Flash
站点最新 站点最新列表
跟我去香港:The third Day
单件模式结合命令链模式
快乐狗原创动漫大赛
元素层叠级别及z-index剖析
CSS 浏览器的等宽空格
电影变形金刚概念画欣赏
疯狂的程序员 第三十五回
疯狂的程序员 第三十四回
疯狂的程序员 第三十三回
运用ASDoc工具
栏目最新 栏目最新列表
火星人的耳机
公司正式宣布创业失败
用corelDEAW 12打造唇膏
二行代码解决全部网页木马
一行代码解决iframe挂马
Photoshop制作星空爆炸效果
CorelDraw 12打造休闲裤
Firework如何画特殊的切角图形
Firework打造韩式风格的手提袋
flash实例:打造佛光效果
 
>> 分页 首页 前页 后页 尾页 页次:5/51个记录/页 转到 页 共5个记录

蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。

本文暂时没有评论和评分

您的评论
用户名:  口令:
说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册 为本站会员。
注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
不评分 1 2 3 4 5
注意:请不要在评论中含与内容无关的广告链接,违者封ID
请您注意:
·不良评论请用报告管理员,以利管理员及时删除。
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·本站评论管理人员有权保留或删除其管辖评论中的任意内容
·您在本站发表的作品,本站有权在网站内转载或引用
·参与本评论即表明您已经阅读并接受上述条款
推荐文档 | 打印文档 | 评论文档 | 报告错误  
专业书推荐 更多内容
大师之路--Photoshop 完全解析
《超越CSS》新书上市
Don't Make Me Think 第2版
HTML与CSS入门经典(第7版)
《FLASH MX2004网站开发精粹》
《CSS入门经典》
《设计师谈网页设计思维》
作品集 更多内容

苍天之三最终改版官网 最近画的两个ICON 幻境 杂志彩色内页样式 ESSP css&nbsp;zen&nbsp;garden 单线图标 XIJIYA&#45;VI