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}

目录
相关文章
|
C# 前端开发
WPF中Style文件的引用——使用xaml代码或者C#代码动态加载
原文:WPF中Style文件的引用——使用xaml代码或者C#代码动态加载   WPF中控件拥有很多依赖属性(Dependency Property),我们可以通过编写自定义Style文件来控制控件的外观和行为,如同CSS代码一般。
4748 0
|
JavaScript 前端开发
ueditor代码高亮实现方法
实现的方法也很简单 1:页面引用以下资源文件(均位于ueditor目录中) <script type="text/javascript" src="/ueditor/third-party/SyntaxHighlighter/shCore.js"></script> <link rel="stylesheet" type="text/css" href="/ueditor/third-party/SyntaxHighlighter/shCoreDefault.css"> 2:增加如下js脚本使高亮生效: SyntaxHighlighter.all();
235 0
ueditor代码高亮实现方法
|
JavaScript 前端开发
ASP.NETmvc常用JQUERY插件【jquery.dataTables.js】
离开WEBFORM 也就离开了大量的前端困境,刚一开始用MVC,真感觉好像在沙漠中行走,很想念以前的控件,都快想死了,很快发现原来JQUERY 有很多插件可以用,只怪自己平时不收集,用的时候才手忙脚乱    在WEBFROM中用GRDIVIEW进行表格类的数据的展示在ASP.
883 1
|
编解码 JavaScript 前端开发
|
JSON JavaScript 前端开发
PHP Ueditor 富文本编辑器
2016年12月11日 08:46:59 星期日 百度的简版富文本编辑器umeditor很久没更新了 全功能版本的配置项跟umeditor还是有区别的, 这里说下ueditor怎么对接到项目中去, 主要说明图片上传怎么使用 HTML: 1 //承载编辑器 2 3 4 ...
1667 0