查看: 4966|回复: 0
打印 上一主题 下一主题

介绍smarty模板

[复制链接]
跳转到指定楼层
1#
发表于 2007-10-5 14:24:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
台州网址导航
以下的介绍是基于2.5版的,也不知有BUG没,OS是win2000,php应该

4.1以后的就可以。,兄弟只是开发时使用过几次,没太深的研究,

介绍的在手册上都能找到,如果有错误之处难免多包涵吧


smarty模板据说是php.net推荐使用的,据说功能比较强,据说速度

也不慢,据说用的人越来越多<img src="images/smilies/biggrin.gif" border="0" alt="">

官方网站smarty.php.net上面有论坛,有下载,有手册。有你想要的一切,切入正题:
(-)安装:
下载的包解压后有三个下级目录:模板文件目录是<libs> 其下有四个类文件一个目录.首先介绍最重要的:Smarty.class.php它应该是整个smarty模板的核心类,平时应用时也是跟它打交道,在你的应用程序目录下建立以下目录结构:
/app_1/smarty/libs
/app_1/smarty/templates_c
/app_1/smarty/templates
/app_1/smarty/configs

<libs>对应压缩包下的libs目录下面放smarty需要的类文件
<templates>存放模板文件,程序用到的模板文件都放这里
<configs>存放模属性文件,以后详细说
<templates_c>存放"编译"后的模板文件,以后详细说,些目录需要设为777
<cache>存放缓存的模板文件

以上文件名为smarty默认的文件名,用户可以指定不同的文件名,如:guest_template_dir,admin_template_dir 等.如果不指定将使用以上文件名
(二)使用:

设计模板:
1模板变量:{$变量名},如 {$color},{$type}
test_color.tpl
<font color={$color}>{$name}</font>
test_url.tpl
<a href="{$url}" target="{$target}">{$title}</a>

2也可以使用模板数组
test_array.tpl
{people.name}<br>
{people.sex}<br>
{people.money}<br>
3模板使用区块列表
如:
user1 user1_sex user1_money
user2 user2_sex user2_money
user3 user3_sex user3_money

section.tpl
可以用表格格式化:
<TABLE>
{section name=user loop=$userList}
<TR>
  <TD>{$userList[user].name}</TD>
  <TD>{$userList[user].sex}</TD>
  <TD>{$userList[user].money}</TD>
</TR>
{/section}
</TABLE>


<?php
    //当前目录app_1下
    //生成$smarty实例
   
    require('smarty/lib/Smarty.class.php');
    $smarty = new Smarty;

    //指定功能目录,可以自定义
    $smarty->template_dir = 'smarty/templates';
    $smarty->$compile_dir = 'smarty/template_c';
   
    //为模板变量赋值 模板:color.tpl 放于smarty/templates下
    //$smarty->assign('模板变量名','php内部变量');
    //$smarty->display(模板文件名);

    $smarty->assign('color','red');
    $smarty->assign('name','hello world');

    //显示模板
    //输出:<font color=red>helloworld</font>
    $smarty->display('test_color.tpl');

    //为模板数组变量赋值,模板:test_array.tpl
    //输出:

    //巴豆
    //男
    //a litte
    $people = array('name'=>'巴豆','sex'=>'男','money'=>'a little');
    $smarty->assign('people',$people);
    $smarty->display('test_color.tpl');

    //模板区块
    //{section name=user loop=$userList}
    //section:标签功能
    //name:标签名
    //loop:循环数组
    //功能循环输出多行
    //输出:
   
    //user1 user1_sex user1_money
    //user2 user2_sex user2_money
    //user3 user3_sex user3_money


    $userList[] = array('name'=>'user1','sex'=>'user1_sex','money'=>'user1_money');
    $userList[] = array('name'=>'user2','sex'=>'user2_sex','money'=>'user2_money');
    $userList[] = array('name'=>'user3','sex'=>'user3_sex','money'=>'user3_money');

    $smarty->assign('userList',$userList);
    $smarty->display('test_section.tpl');
?>
暂时先写这么点都是最基本的东西了,代码没有测试,兄弟初次写东西有出错的地方一概不负责。
还有好多有意思的功能以后有机会再写


[ZT BY 六道 @ PHPCOOL.COM]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

网站推广
关于我们
  • 台州朗动科技(Tzweb.com)拥有多年开发网站平台系统门户手机客户端等业务的成功经验。主要从事:政企网站,系统平台,微信公众号,各类小程序,手机APP客户端,浙里办微应用,浙政钉微应用、主机域名、虚拟空间、后期维护等服务,满足不同企业公司的需求,是台州地区领先的网络技术服务商!

Hi,扫描关注我

Copyright © 2005-2026 站长论坛 All rights reserved

Powered by 站长论坛 with TZWEB Update Techonolgy Support

快速回复 返回顶部 返回列表