Smarty教程[3]
例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]相关推荐
- Smarty中文手册,Smarty教程,Smarty模板的入门教材
Smarty中文手册,Smarty教程,Smarty模板的入门教材 首先,这份Smarty中文手册的翻译工作是由喜悦国际村村民自发组织的,不代表任何人的意见和观点.对他们的无私奉献精神,我们表示感谢, ...
- 大师兄Smarty教程修正版
大师兄Smarty教程修正版,修改了一些网上复制大师兄教程的错误: 整个教程分四大部分: 一.模板设计部分 二.程序设计部分 三.实例篇(使用PHP内置MySQL函数) 四.实例篇(使用phplib的 ...
- 大师兄Smarty教程修正版(1).
教程一:模板设计部分 一.什么是smarty? smarty是一个使用PHP写出来的模板PHP模板引擎,它提供了逻辑与外在内容的分离,简单的讲,目的就是要使用PHP程序员同美工分离,使用的程序员改变程 ...
- Smarty教程[1]
以下文件章为引用 大师兄Smarty教程修正版,修改了一些网上复制大师兄教程的错误: 整个教程分四大部分: 一.模板设计部分 二.程序设计部分 三.实例篇(使用PHP内置MySQL函数) 四.实例篇( ...
- Smarty教程[4]
2.---程序设计部分 在smarty的模板设计部分我简单的把smarty在模板中的一些常用设置做了简单的介绍,这一节主要来介绍一下如何在smarty中开始我们程序设计. 首先来介绍一下在上一 ...
- Smarty教程[5]
在使用的时候,你可以往每个数据表中输入5条数据记录以备我们在调试实例时使用. 二.示例站点目录结构: PHP代码:------------------------------------------- ...
- Smarty教程[7]
一.如何得到ADODB? 它的运行环境是什么? 从http://adodb.sourceforge.net/上下载. 二.如何安装ADODB? 解压下载回的压缩文件,注意:大家下载回来的格式为ADOD ...
- Smarty教程[6]
PHP代码:-------------------------------------------------------------------------------- templates中的in ...
- smarty教程系列2--section1
第二课 smarty基本语法(1) 好了有了上一节课的安装,这节课我们看看smarty的基本语法 我们知道smarty是为了把php和美工制作的模板部分尽量做到分离,这样程序做程序时可以不必等到美工的 ...
- Smarty教程,语法与应用
配置: 下载Smarty文件放到你们站点中,然后创建两个文件夹 templates 存放模板文件 templates_c 存放编译后的文件 首先需要在项目中包含smarty类文件 require_on ...
最新文章
- html 密码框自动填充,解决chrom浏览器input密码框自动填充
- Class,表名,表单参数名关系
- mysql修改网络服务_MySql-Server 就要修改成允许 Web-Server 进行远程连接. 最后一步 需要使用ALTER USER … ACCOUNT UNLOCK语句进行解锁了:...
- access表怎么生成表结构_数据结构——单链表讲解
- 英语音标 语言、语音、音素及音标
- eclipse 插件 ---Android 模拟器genymotion安装(整理)
- nssl1162-农夫约的假期【中位数,贪心】
- 云计算odps使用笔记(一)环境搭建
- spring boot集成kaptcha图形验证码
- 把语言环境变量改为英文
- [书目20080225]软件工程与项目管理解析
- 图解android开发在界面上显示图片
- CSS_class标签
- opencv中对图片阀值的操作
- 使用Postman工具进行简单的Get/Post测试
- Android音频开发(二):录制音频(WAV及MP3格式)
- python 中的 Fraction 模块
- 苹果手机发信息显示作为垃圾信息送达解决方法
- 解决phpstorm运行很卡问题
- 安卓中的hander
热门文章
- 【USACO】 贪婪的礼物送礼者
- 微软网盘onedrive|共享网盘程序大全
- 2022年中科大细胞生物学实验原理往年题复习参考
- java-net-php-python-jspm驾校学员管理系统计算机毕业设计程序
- mikrotik 提升到root权限
- C	 The Party and Sweets(思维 + 贪心)
- 《惢客创业日记》2021.06.15(周二)凉粉儿的防骗三板斧
- SwiftUI Swift内功之Swift 中的 some vs any
- c++11 chrono全面解析(最高可达纳秒级别的精度)
- springmvc前台访问404,不能进入controller,后台不报错问题解决方案心得