smarty入门教程四

作者:袖梨 2022-07-02

example4.tpl


CODE:[Copy to clipboard]
模板中的流程控制


{assign var="tbColor" value="green"}
色彩:{$tbColor}

{section name=loop loop=$News}
{if $tbColor == "green"}


{assign var="tbColor" value="orange"}
{else $tbColor == "orange"}

{assign var="tbColor" value="green"}
{/if}



{/section}
{$News[loop].newsID} {$News[loop].newsTitle}



example4.php


PHP:[Copy to clipboard]
/*********************************************
*
* 文件名: example4.php
* 作 用: 显示实例程序4
*
* 作 者: 大师兄
* Email: [email protected]

* 修 正: forest
*********************************************/

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输出:
==================================================

模板中的流程控制

























001 第1条新闻
002 第2条新闻
003 第3条新闻
004 第4条新闻
005 第5条新闻
006 第6条新闻
007 第7条新闻
008 第8条新闻



===================================================
模板文件中使用:


PHP:[Copy to clipboard]
{if $tbColor == "#D4D0C8"}

{assign var="tbColor" value="#EEEEEE"}
{else $tbColor == "#EEEEEE"}

{assign var="tbColor" value="#D4D0C8"}
{/if}

 

这一语句块进行设置每一行的背景颜色, {assign var="tbColor" value="#D4D0C8"}还记的吧,是例3中设置模板内部变量的定义方法,

使用模板内置的流程控制语句有时可以极大程度上提高程序的控制能力,下面一个例子是phpx.com中曾经有位朋友问过的,我将它作为
实例放在这里供大家学习.
例4我用来说明{if / elseif /else /if}的使用方法,如果单为了实现隔行的目的,大家可以使用这一句就行了:


PHP:[Copy to clipboard]
{section name=rows loop=$data}

{$data[rows]}

{/section}

 

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

相关文章

精彩推荐