- smarty教程,程序实现,1-4
- 发布时间:2007-10-05 11:38:22 浏览数:5346 发布者:webptr 设置字体【大 中 小】
一边学习,一边看官方,把大师兄的smarty重写了一遍,能运行.
example1.php<?php
/*
* @参考 大师兄smarty教程
* @author 马永占
* @email mailmyz*gmail.com
*/
// 加载 Smarty library
define('SMARTY_DIR','smarty/libs/');
define('SMARTY_DIR_OTHER','smarty/');
require('newsmarty.php');
$smarty->assign('name','聪明!');//进行模板变量替换
//编译并显示位于templates下的index.tpl模板
$smarty->display('example1.html');
?>
example2.php<?php
/*
* @参考 大师兄smarty教程
* @author 马永占
* @email mailmyz*gmail.com
*/
// 加载 Smarty library
define('SMARTY_DIR','smarty/libs/');
define('SMARTY_DIR_OTHER','smarty/');
require('newsmarty.php');
//时间的不好用...郁闷
$smarty->assign("str1", "my name is: myz."); //将str1替换成My Name Is: Myz.
$smarty->assign("str2", "我的名字叫:"); //输出: 我的名字叫:MyZ
$smarty->assign("str3", strtotime('-1 day')); //输出2007年06月19日(我的当前时间减一)
//$smarty->assign("str4", ""); //第四句不处理时会显示默认值,如果使用前面这一句则替换为""
$smarty->assign("str5", "前边8个*"); //第五句输出:********前边8个*
$smarty->assign("str6", "MaiLmYz@gmAil.com"); //这里将输出mailmyz@gmail.com
$smarty->assign("str7", "this is myz"); //在模板中显示为:this is myz
$smarty->assign("str8", time());
//编译并显示位于/templates下的index.tpl模板
$smarty->display("example2.html");
?>
example3.php<?php
/*
* @参考 大师兄smarty教程
* @author 马永占
* @email mailmyz*gmail.com
*/
// 加载 Smarty library
define('SMARTY_DIR','smarty/libs/');
define('SMARTY_DIR_OTHER','smarty/');
require('newsmarty.php');
//--------------------------------------------------------------------------------------
//处理{html_checkboxes name="CheckBox" values=$CheckName checked=$IsChecked output=$value separator="
"}
//--------------------------------------------------------------------------------------
$smarty->assign('CheckName', array(
1001 => '语文',
1002 => '数学',
1003 => '外语'));
$smarty->assign('IsChecked', 1001);
//--------------------------------------------------------------------------------------
//处理{html_radios name="RadioBox" values=$RadioName checked=$IsChecked output=$value separator="
"}
//--------------------------------------------------------------------------------------
$smarty->assign('RadioName', array(
1001 => '语文1',
1002 => '数学1',
1003 => '外语1'));
$smarty->assign('IsChecked', 1001);
//--------------------------------------------------------------------------------------
//{html_select_date}不用处理会自动输出
//--------------------------------------------------------------------------------------
//编译并显示位于/templates下的index.tpl模板
$smarty->display("example3.html");
?>
example4.php<?php
/*
* @参考 大师兄smarty教程
* @author 马永占
* @email mailmyz*gmail.com
*/
// 加载 Smarty library
define('SMARTY_DIR','smarty/libs/');
define('SMARTY_DIR_OTHER','smarty/');
require('newsmarty.php');
$array[]= array("newsID"=>"001", "newsTitle"=>"第1条新闻");
$array[]= array("newsID"=>"002", "newsTitle"=>"第2条新闻");
$array[]= array("newsID"=>"003", "newsTitle"=>"第3条新闻");
$array[]= array("newsID"=>"004", "newsTitle"=>"第4条新闻");
$array[]= array("newsID"=>"005", "newsTitle"=>"第5条新闻");
$array[]= array("newsID"=>"006", "newsTitle"=>"第6条新闻");
$array[]= array("newsID"=>"007", "newsTitle"=>"第7条新闻");
$array[]= array("newsID"=>"008", "newsTitle"=>"第8条新闻");
$smarty->assign("News", $array);
$smarty->display("example4.html");
//$smarty->display("example4_2.html");
//$smarty->display("example4_3.html");
//$smarty->display("example4_4.html");
?>
newsmarty.php<?php
/*
* @author 马永占
* @email mailmyz*gmail.com
*/
require(SMARTY_DIR.'Smarty.class.php');
$smarty = new Smarty;
$smarty->template_dir = SMARTY_DIR_OTHER.'templates';//设置模板目录
$smarty->config_dir = SMARTY_DIR_OTHER.'config';//设置配置目录
$smarty->compile_dir = SMARTY_DIR_OTHER.'templates_c';//设置编译目录
$smarty->cache_dir = SMARTY_DIR_OTHER.'cache';//设置缓存目录
$smarty->cache_lifetime = 60 * 60 * 24; //设置缓存时间,60秒*60*24
$smarty->caching = false; //设置缓存方式,这个属性告诉Smarty是否要进行缓存以及缓存的方式。
//它可以取3个值,0:Smarty默认值,表示不对模板进行缓存;1:表示Smarty将使用当前定义的cache_lifetime来决定是否结束cache;2:表示Smarty将使用在cache被建立时使用cache_lifetime这个值。
//习惯上使用true与false来表示是否进行缓存。
//----------------------------------------------------
//左右边界符,默认为{},但实际应用当中容易与JavaScript
//相冲突,所以建议设成<{}>或其它。
//----------------------------------------------------
$smarty->left_delimiter = "<{";
$smarty->right_delimiter = "}>";
?>
e_footer.html 底部
e_header.html
标题
example1.html<{* Smarty 注释 *}>
<{include file="e_header.html"}>
Hello, <{$name}>!
<{include file="e_footer.html"}>