Smarty实例教程(2)

简介: 例4.模板控制(if / elseif / else/ endif )=======================================================example4.

例4.模板控制(if / elseif / else/ endif )
=======================================================
example4.tpl
=======================================================
<html>
<head><title>模板中的流程控制</title><head>
<body>
<table border="1">
{assign var="tbColor" value="#D4D0C8"}
色彩:{$tbColor}<br>

{section name=loop loop=$News}
{if $tbColor == "#D4D0C8"}
<tr bgcolor="{$tbColor}">
{assign var="tbColor" value="#EEEEEE"}
{else $tbColor == "#EEEEEE"}
<tr bgcolor = "{$tbColor}">
{assign var="tbColor" value="#D4D0C8"}
{/if}
<td>{$News[loop].newsID}</td>
<td>{$News[loop].newsTitle}</td>
<tr>
{/section}
</table>
</body>
</html>


=======================================================
example4.php
=======================================================
<?php
/*********************************************
*
* 文件名: example4.php
* 作 用: 显示实例程序4
*
* 作 者: 大师兄
* Email: teacherli@163.com
*
*********************************************/

require_once ("./comm/Smarty.class.php");

$smarty = new Smarty();
$smarty->template_dir = './templates/';
$smarty->compile_dir = './templates_c/';
$smarty->config_dir = './configs/';
$smarty->cache_dir = './cache/';
$smarty->caching = false;

$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.tpl");
?>

==================================================
example4.php输出:
==================================================
<html>
<head><title>模板中的流程控制</title><head>
<body>
<table border="1">

<tr bgcolor="#D4D0C8">

<td>001</td>
<td>第1条新闻</td>
</tr>
<tr bgcolor = "#EEEEEE">

<td>002</td>
<td>第2条新闻</td>
</tr>
<tr bgcolor="#D4D0C8">

<td>003</td>
<td>第3条新闻</td>
</tr>
<tr bgcolor = "#EEEEEE">

<td>004</td>
<td>第4条新闻</td>
</tr>
<tr bgcolor="#D4D0C8">

<td>005</td>
<td>第5条新闻</td>
</tr>
<tr bgcolor = "#EEEEEE">

<td>006</td>
<td>第6条新闻</td>
</tr>
<tr bgcolor="#D4D0C8">

<td>007</td>
<td>第7条新闻</td>
</tr>
<tr bgcolor = "#EEEEEE">

<td>008</td>
<td>第8条新闻</td>
</tr>
</table>
</body>
</html>

模板文件中使用:
{if $tbColor == "#D4D0C8"}
<tr bgcolor="{$tbColor}">
{assign var="tbColor" value="#EEEEEE"}
{else $tbColor == "#EEEEEE"}
<tr bgcolor = "{$tbColor}">
{assign var="tbColor" value="#D4D0C8"}
{/if}
这一语句块进行设置每一行的背景颜色, {assign var="tbColor" value="#D4D0C8"}还记的吧,是例3中设置模板内部变量的定义方法,

使用模板内置的流程控制语句有时可以极大程度上提高程序的控制能力,下面一个例子是phpx.com中曾经有位朋友问过的,我将它作为
实例放在这里供大家学习.
例4我用来说明{if / elseif /else /if}的使用方法,如果单为了实现隔行的目的,大家可以使用这一句就行了:
PHP代码:--------------------------------------------------------------------------------
{section name=rows loop=$data}
<tr bgcolor="{cycle values="#D4D0C8,#EEEEEE"}">
<td>{$data[rows]}</td>
</tr>
{/section}

目录
相关文章
|
Web App开发 JavaScript
Fckeditor使用方法
本文主要讲Fckeditor使用方法
260 0
|
编解码 JavaScript 前端开发
|
Web App开发 JavaScript 前端开发
《jQuery Cookbook中文版》——第1章 jQuery基础1.1 在HTML页面中包含jQuery程序库代码
你当然也可以自己安装一个jQuery代码副本。但是,在大部分情况下这很愚蠢,因为Google已经为你托管了一个很好的版本。使用Google托管的jQuery,你可以得益于一个可靠、高速且在全球都能访问的jQuery版本。而且,你还能够受益于降低的延迟、获得更高的并行性和更好的缓存。
1701 0
|
IDE JavaScript 开发工具
《jQuery EasyUI开发指南》——1.5 MyEclipse的语言配置
一般来说,在开发软件的时候,使用IDE主要有英文和中文这两个选择(对日开发除外)。究竟使用英文版还是使用中文版呢?在这个问题上,很多新手很困扰。使用英文版,显得专业,但如果英文不好,很难对IDE的各种选项进行设置,更不要说是精通了。也许,使用了几年英文版,对IDE的熟悉程度还始终停留在初级阶段。
2181 0