`
vtrtbb
  • 浏览: 360029 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

smarty section 遍历数组的方法

    博客分类:
  • php
PHP 
阅读更多

section的产生是为解决foreach的不足的,与foreach一样,它用于设计模板内的循环块,它较为复杂,可极大程序上满足程序需要,所以在程序中我习惯使用它而不使用foreach,基本原形为:
{section name = name loop = $varName[, start = $start, step = $step, max = $max, show = true]}
name: section的名称,不用加$
$loop: 要循环的变量,在程序中要使用assign对这个变量进行操作。
$start: 开始循环的下标,循环下标默认由0开始
$step: 每次循环时下标的增数
$max: 最大循环下标
$show: boolean类型,决定是否对这个块进行显示,默认为true
这里有个名词需要说明:
循环下标:实际它的英文名称为index,是索引的意思,这里我将它译成"下标",主要是为了好理解。它表示在显示这个循环块时当前的循环索引,默认从 0开始,受$start的影响,如果将$start设为5,它也将从5开始计数,在模板设计部分我们使用过它,这是当前 {section}的一个属性,调用方式为Smarty.section.sectionName.index,这里的sectionName指的是函数原型中的name属性。
{section}块具有的属性值,分别为:
1. index: 上边我们介绍的"循环下标",默认为0
2. index_prev: 当前下标的前一个值,默认为-1
3. index_next: 当前下标的下一个值,默认为1
4. first: 是否为第一下循环
5. last: 是否为最后一个循环
6. iteration: 循环次数
7. rownum: 当前的行号,iteration的另一个别名
8. loop: 最后一个循环号,可用在section块后统计section的循环次数
9. total: 循环次数,可用在section块后统计循环次数
10. show: 在函数的声明中有它,用于判断section是否显示

{$smarty.section.sectionname.varname}记住循环的ID,如果想让序号从1开始,可以{$smarty.section.sectionname.index+1}

$menu=array(
array(
'menuName'=> '公司简介',
'menuCss' => 'current_tab',
'menuUrl' => ''),
array(
'menuName'=> '领导致辞',
'menuCss' => '',
'menuUrl' => 'index.php?controller=TyAbout&action=Lead'),
array(
'menuName'=> '企业文化',
'menuCss' => '',
'menuUrl' => 'index.php?controller=TyAbout&action=Culture'),
array(
'menuName'=> '联系我们',
'menuCss' => '',
'menuUrl' => 'index.php?controller=TyAbout&action=Contact'),
);

 

 

smarty模板里文件代码 :

{{section name=loop loop=$menu}}
      <h2 id="tab_{{$smarty.section.loop.index+1}}" class="{{$menu[loop].menuCss}}">
       <a onclick=tab_toggle(this) href="java script:send('{{$menu[loop].menuUrl}}');">{{$menu[loop].menuName}}</a>
      </h2>
     {{/section}}

 

分享到:
评论

相关推荐

    计算机前端-核心编程. Smarty11section遍历枚举数组.avi

    计算机前端-核心编程. Smarty11section遍历枚举数组.avi

    smarty中section的使用

    在Smarty中,`section`是用于处理数组遍历的关键特性,尤其适用于展示列表或表格数据。本篇文章将深入讲解如何在Smarty模板中使用`section`以及其相关属性和变量。 首先,我们来看一个简单的索引数组的例子: ```...

    PHP100视频教程 29:PHP模板引擎Smarty内置函数

    1、foreach 数组的处理与我们在PHP中的foreach用法类似,同样是用来遍历数组。在实际操作中与section 功能一样,但foreach在Smarty一般用来处理一维数组。2、include 多功能使用3、IF条件语句的使用4、literal strip...

    PHP100视频教程 29:PHP模板引擎Smarty内置函数.rar

    与我们在PHP中的foreach用法类似,同样是用来遍历数组。在实际操作中与 section 功能一样,但foreach在Smarty一般用来处理一维数组。 2、include 多功能使用 3、IF条件语句的使用 4、literal strip 文本的处理...

    smarty内置函数section的用法

    section可以像foreach循环一样遍历数组,但同时提供了额外的功能,比如以指定的步长进行循环,以及反向遍历数组。接下来,我们将详细介绍Smarty内置函数section的用法。 首先,我们来看一下section函数的基本语法...

    smarty的section嵌套循环用法示例

    在Smarty模板中,section标签可以用来遍历数组或对象,类似于PHP中的foreach循环。Section标签有两个必须的属性:name和loop。name属性定义了循环的名称,而loop属性则指定了要遍历的数组或对象。 在本文的实例中,...

    Smarty_smarty_

    例如,`{$variable}`用于输出变量,`{foreach $array as $item}`用于循环遍历数组。 2. **变量**:Smarty中的变量可以来自PHP脚本,通过`assign`函数赋值给模板,如`$smarty-&gt;assign('name', 'John');`。在模板中,...

    Smarty-3.1.16

    - `{section}` 和 `{foreach}`:用于循环遍历数组或集合。 - `{if}`,`{elseif}` 和 `{else}`:条件语句。 - `{include}` 和 `{extends}`:用于包含其他模板或继承父模板。 4. **Smarty在实际项目中的应用**: ...

    php中smarty区域循环的方法

    在Smarty模板中,区域循环是一种常见的技术,用于遍历数组或集合,并输出特定的HTML结构。本文详细介绍了Smarty中foreach循环和section循环的使用方法和技巧。 首先,我们来看看foreach循环。foreach循环是一种通用...

    smarty下载及入门教程.pdf

    例如,你可以使用`{if}`条件语句控制区块的显示,用`{foreach}`遍历数组,用`{section}`进行循环操作。 Smarty的优势: - 可复用性:由于模板和代码分离,你可以轻松更换模板,而不影响程序逻辑。 - 性能:Smarty...

    smarty完全中文手册

    例如,你可以使用`{if}`检查一个变量是否为空,或者使用`{foreach}`遍历数组并输出每个元素。此外,还有`{section}`和`{next}`等用于处理多维数据的高级功能。 Smarty的配置是灵活的,你可以设置全局和局部的模板...

    最全面的Smarty_学习手册

    - **循环结构**:`{section}`和`{foreach}`用于遍历数组或数据集,实现列表的展示。 4. **函数与插件** - **内置函数**:手册会介绍Smarty提供的内置函数,如日期格式化、字符串处理等。 - **自定义插件**:讲解...

    Smarty 学习文档(两种格式)

    - **循环**:`{foreach $array as $item}` 用于遍历数组。 - **函数调用**:`{function name=$value param1=$var1}` 调用Smarty内置或自定义函数。 - **块标签**:如`{section}`用于复杂的循环结构。 4. **...

    关于PHP模板Smarty的初级使用方法以及心得分享

    - section部分:section部分主要用于遍历数组的特定部分。比如{{section name=sectionName loop=$数组}}内容{{/section}}。 3. Smarty中的循环结构难点 在Smarty中,循环结构特别是foreach和section可能会让初学者...

    smarty模板

    2. **控制结构**:Smarty提供了类似于PHP的控制结构,如`{if}`、`{elseif}`、`{else}`用于条件判断,`{foreach}`用于循环遍历数组。 3. **函数和修饰器**: Smarty支持自定义函数(如`{function}`)和修饰器(如`|...

    smarty 中文手册

    例如,`{$var}`用于显示变量的值,`{foreach}`用于循环遍历数组,`{if}`、`{else}`和`{elseif}`则用于条件判断。 Smarty的核心概念包括: 1. **模板**:模板文件通常以`.tpl`为扩展名,它们包含HTML和其他SMARTY...

    Smarty2.6 Demo

    2. **循环结构**:`{foreach}`标签用于遍历数组或集合,非常适合在列表中展示数据。 3. **条件语句**:`{if}`,`{elseif}`,`{else}`用于根据条件展示不同内容。 4. **函数和插件**:Smarty提供了许多内置函数,如...

    Smarty中文使用手册

    - **{$smarty.section}, {$smarty.foreach}**: 控制结构变量,用于遍历数组等操作。 - **{$smarty.template}**: 关于当前模板的信息。 #### 二、变量调节器 - **capitalize**: 将字符串中每个单词的首字母转换为...

Global site tag (gtag.js) - Google Analytics