例5: 使用模板内置流程控制语句进行一行多单元格内容输出, 也就是在视觉上smarty每记输出几条记录:

example5.tpl

----------------------------------------------------------------------------

<html>

<head>

<title>一行输出多条记录</title>

</head>

<body>

<table>

<tr>

{section name=loop loop=$News step=1}

{if $smarty.section.loop.index % 4==0}

</tr>

<tr>

{/if}

<td>{$News[loop].newsID}</td>

<td>{$News[loop].newsTitle}</td>

{/section}

</tr>

</table>

</body>

</html>

----------------------------------------------------------------------------

example5.php

----------------------------------------------------------------------------

<?php

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("example5.tpl");

?>

==================================================

example5.php输出内容:

==================================================

<html>

<head><title>一行输出多条记录</title></head>

<body>

<table>

<tr>

</tr>

<tr>

<td>001</td>

<td>第1条新闻</td>

<td>002</td>

<td>第2条新闻</td>

<td>003</td>

<td>第3条新闻</td>

<td>004</td>

<td>第4条新闻</td>

</tr>

<tr>

<td>005</td>

<td>第5条新闻</td>

<td>006</td>

<td>第6条新闻</td>

<td>007</td>

<td>第7条新闻</td>

<td>008</td>

<td>第8条新闻</td>

</tr>

</table>

</body>

</html>

说明:本来还可以优化,使得第一行不输出一个空行的<tr> </tr>,但是学习程序,简单为好,先就这么用了. 在这里说明一下:

----------------------------------------------------------------------------

{section name=loop loop=$News step=1}

{if $smarty.section.loop.index % 4 == 0}

</tr>

<tr>

{/if}

<td>{$News[loop].newsID}</td>

<td>{$News[loop].newsTitle}</td>

{/section}

----------------------------------------------------------------------------

{section}{/section}指的是一个循环部分,在下一节会有详细的介绍,我们主要来看看这一句:

{if $smarty.section.loop.index % 4 == 0}

$smarty.section.loop指出$smarty的实例中的section段有一个叫loop的部分, 它有一个属性叫index, 它的表示当前循环的索引值,从0开始递增,我们把它%4后与0相比较,也就是说,如果当前的索引值是4的倍数,它就输出一个</tr><tr>,否则执行下面的部分,

很简单的就解决了一个在程序上实现起来很麻烦的事情.这里我仅演示的是如何使用{if}语句功能,实现这个功能在Smarty的模板中还有一个非常方便的办法:{cycle},使用的例子如下所示:

----------------------------------------------------------------------------

{section name=rows loop=$data}

<tr bgcolor="{cycle values="#D4D0C8,#EEEEEE"}">

<td>{$data[rows]}</td>

</tr>

{/section}

Smarty教程[3]相关推荐

  1. Smarty中文手册,Smarty教程,Smarty模板的入门教材

    Smarty中文手册,Smarty教程,Smarty模板的入门教材 首先,这份Smarty中文手册的翻译工作是由喜悦国际村村民自发组织的,不代表任何人的意见和观点.对他们的无私奉献精神,我们表示感谢, ...

  2. 大师兄Smarty教程修正版

    大师兄Smarty教程修正版,修改了一些网上复制大师兄教程的错误: 整个教程分四大部分: 一.模板设计部分 二.程序设计部分 三.实例篇(使用PHP内置MySQL函数) 四.实例篇(使用phplib的 ...

  3. 大师兄Smarty教程修正版(1).

    教程一:模板设计部分 一.什么是smarty? smarty是一个使用PHP写出来的模板PHP模板引擎,它提供了逻辑与外在内容的分离,简单的讲,目的就是要使用PHP程序员同美工分离,使用的程序员改变程 ...

  4. Smarty教程[1]

    以下文件章为引用 大师兄Smarty教程修正版,修改了一些网上复制大师兄教程的错误: 整个教程分四大部分: 一.模板设计部分 二.程序设计部分 三.实例篇(使用PHP内置MySQL函数) 四.实例篇( ...

  5. Smarty教程[4]

    2.---程序设计部分 在smarty的模板设计部分我简单的把smarty在模板中的一些常用设置做了简单的介绍,这一节主要来介绍一下如何在smarty中开始我们程序设计.     首先来介绍一下在上一 ...

  6. Smarty教程[5]

    在使用的时候,你可以往每个数据表中输入5条数据记录以备我们在调试实例时使用. 二.示例站点目录结构: PHP代码:------------------------------------------- ...

  7. Smarty教程[7]

    一.如何得到ADODB? 它的运行环境是什么? 从http://adodb.sourceforge.net/上下载. 二.如何安装ADODB? 解压下载回的压缩文件,注意:大家下载回来的格式为ADOD ...

  8. Smarty教程[6]

    PHP代码:-------------------------------------------------------------------------------- templates中的in ...

  9. smarty教程系列2--section1

    第二课 smarty基本语法(1) 好了有了上一节课的安装,这节课我们看看smarty的基本语法 我们知道smarty是为了把php和美工制作的模板部分尽量做到分离,这样程序做程序时可以不必等到美工的 ...

  10. Smarty教程,语法与应用

    配置: 下载Smarty文件放到你们站点中,然后创建两个文件夹 templates 存放模板文件 templates_c 存放编译后的文件 首先需要在项目中包含smarty类文件 require_on ...

最新文章

  1. html 密码框自动填充,解决chrom浏览器input密码框自动填充
  2. Class,表名,表单参数名关系
  3. mysql修改网络服务_MySql-Server 就要修改成允许 Web-Server 进行远程连接. 最后一步 需要使用ALTER USER … ACCOUNT UNLOCK语句进行解锁了:...
  4. access表怎么生成表结构_数据结构——单链表讲解
  5. 英语音标 语言、语音、音素及音标
  6. eclipse 插件 ---Android 模拟器genymotion安装(整理)
  7. nssl1162-农夫约的假期【中位数,贪心】
  8. 云计算odps使用笔记(一)环境搭建
  9. spring boot集成kaptcha图形验证码
  10. 把语言环境变量改为英文
  11. [书目20080225]软件工程与项目管理解析
  12. 图解android开发在界面上显示图片
  13. CSS_class标签
  14. opencv中对图片阀值的操作
  15. 使用Postman工具进行简单的Get/Post测试
  16. Android音频开发(二):录制音频(WAV及MP3格式)
  17. python 中的 Fraction 模块
  18. 苹果手机发信息显示作为垃圾信息送达解决方法
  19. 解决phpstorm运行很卡问题
  20. 安卓中的hander

热门文章

  1. 【USACO】 贪婪的礼物送礼者
  2. 微软网盘onedrive|共享网盘程序大全
  3. 2022年中科大细胞生物学实验原理往年题复习参考
  4. java-net-php-python-jspm驾校学员管理系统计算机毕业设计程序
  5. mikrotik 提升到root权限
  6. C The Party and Sweets(思维 + 贪心)
  7. 《惢客创业日记》2021.06.15(周二)凉粉儿的防骗三板斧
  8. SwiftUI Swift内功之Swift 中的 some vs any
  9. c++11 chrono全面解析(最高可达纳秒级别的精度)
  10. springmvc前台访问404,不能进入controller,后台不报错问题解决方案心得