- 浏览: 260276 次
- 性别:
- 来自: 合肥
文章分类
- 全部博客 (238)
- linux (12)
- php (79)
- mysql (9)
- IIS (2)
- apache (5)
- javascript (16)
- jquery (4)
- DIV+CSS (13)
- sqlserver (13)
- window系统 (12)
- photoshop (2)
- fireworks (1)
- 网站性能测试 (2)
- 网络知识 (8)
- c# (3)
- flash game (0)
- 计算机英语 (4)
- python (7)
- 算法设计与思考 (0)
- 服务器配置 (3)
- Flex (2)
- 电脑硬件 (1)
- oracle (7)
- 软件工程 (1)
- c语言 (1)
- nginx (5)
- wordpress (1)
- coreseek (0)
最新评论
-
玲cc:
语言这东西不用就容易忘。。以前学了现在又差不多忘光了。。
python满足你需要的50个模块 -
huazhiyu1981:
了解python库函数必须要有的资料!
python满足你需要的50个模块 -
faroasis:
toLocale之类的方法在ie下取决于本地设置,不建议用来做 ...
js时间戳转为日期格式 -
hyl1234:
pydev不错,不过还没入门。谢lz
python满足你需要的50个模块 -
mirguest:
因此,我就写了下面这个代码:
#!/usr/bin/env ...
python类学习
smaty遇到了这种循环,用foreach就不行了,只有section了
<div class="mContentList">
<span><a href="#" target="_blank">巡检司令肌肤</a></span>
<span><a href="#" target="_blank">斯蒂芬懒得说</a></span>
</div>
<div class="mContentList">
<span><a href="#" target="_blank">巡检司令肌肤</a></span>
<span><a href="#" target="_blank">斯蒂芬懒得说</a></span>
</div>
<div class="mContentList">
<span><a href="#" target="_blank">巡检司令肌肤</a></span>
<span><a href="#" target="_blank">斯蒂芬懒得说</a></span>
</div>
<div class="mContentList">
<span><a href="#" target="_blank">巡检司令肌肤</a></span>
<span><a href="#" target="_blank">斯蒂芬懒得说</a></span>
</div>
我这样用的:
{section loop=$chugui name=bar step=2}
<div class="mContentList">
<span><a href="http://abc.com/fc0newscon_{$chugui[bar].Id}.html" target="_blank">{$chugui[bar].Second_Title}</a></span>
<span><a href="http://abc.com/fc0newscon_{$chugui[$smarty.section.bar.index+1].Id}.html" target="_blank">{$chugui[$smarty.section.bar.index+1].Second_Title}</a></span> </div>
{/section}
还比较方便,顺便记录一下section用法吧
1、循环一个简单的一维数组:
Example 7-30. Looping a simple array with {section}
<?php
$data = array(1000,1001,1002);
$smarty->assign('custid',$data);
?>
//customer和下面的foo可以随便命名,作用其实仅仅是一个index下标,用来引用数组中的元素
{section name=customer loop=$custid}
id: {$custid[customer]}<br />
{/section}
<hr />
{section name=foo loop=$custid step=-1}
{$custid[foo]}<br />
{/section}
//输出
id: 1000<br />
id: 1001<br />
id: 1002<br />
<hr />
id: 1002<br />
id: 1001<br />
id: 1000<br />
2、不用assign数组直接在smarty中循环:
Example 7-31. {section} without an assigned array
//特别地设置了start,step属性用来控制循环
//$smarty.section.section的名字.index是一个特殊变量,用来显示当前循环的位置
{section name=foo start=10 loop=20 step=2}
{$smarty.section.foo.index}
{/section}
<hr />
{section name=bar loop=21 max=6 step=-2}
{$smarty.section.bar.index}
{/section}
//输出:
10 12 14 16 18
<hr />
20 18 16 14 12 10
4、遍历一个关联数组,嵌套的数组
<?php
$data = array(
array('name' => 'John Smith', 'home' => '555-555-5555',
'cell' => '666-555-5555', 'email' => 'john@myexample.com'),
array('name' => 'Jack Jones', 'home' => '777-555-5555',
'cell' => '888-555-5555', 'email' => 'jack@myexample.com'),
array('name' => 'Jane Munson', 'home' => '000-555-5555',
'cell' => '123456', 'email' => 'jane@myexample.com')
);
$smarty->assign('contacts',$data);
?>
//section不用嵌套,因为只有一个数组,数组内部用$contacts[customer]得到
//每个数组,再用.键名来得到键值
{section name=customer loop=$contacts}
<p>
name: {$contacts[customer].name}<br />
home: {$contacts[customer].home}<br />
cell: {$contacts[customer].cell}<br />
e-mail: {$contacts[customer].email}
</p>
{/section}
The above example will output:
<p>
name: John Smith<br />
home: 555-555-5555<br />
cell: 666-555-5555<br />
e-mail: john@myexample.com
</p>
<p>
name: Jack Jones<br />
home phone: 777-555-5555<br />
cell phone: 888-555-5555<br />
e-mail: jack@myexample.com
</p>
<p>
name: Jane Munson<br />
home phone: 000-555-5555<br />
cell phone: 123456<br />
e-mail: jane@myexample.com
</p>
5、从数据库查询记录显示,实际上是显示二维数组,其实同上例一样
<?php
$sql = 'select id, name, home, cell, email from contacts '
."where name like '$foo%' ";
$smarty->assign('contacts', $db->getAll($sql));
?>
//结果:
<table>
<tr><th> </th><th>Name></th><th>Home</th><th>Cell</th><th>Email</th></tr>
{section name=co loop=$contacts} //第一维
<tr>
<td><a href="view.php?id={$contacts[co].id}">view<a></td> //第二维用.号来引用
<td>{$contacts[co].name}</td>
<td>{$contacts[co].home}</td>
<td>{$contacts[co].cell}</td>
<td>{$contacts[co].email}</td>
<tr>
{sectionelse}
<tr><td colspan="5">No items found</td></tr>
{/section}
</table>
6、嵌套的section
<?php
$id = array(1001,1002,1003);
$smarty->assign('custid',$id);
$fullnames = array('John Smith','Jack Jones','Jane Munson');
$smarty->assign('name',$fullnames);
$addr = array('253 N 45th', '417 Mulberry ln', '5605 apple st');
$smarty->assign('address',$addr);
$types = array(
array( 'home phone', 'cell phone', 'e-mail'),
array( 'home phone', 'web'),
array( 'cell phone')
);
$smarty->assign('contact_type', $types);
$info = array(
array('555-555-5555', '666-555-5555', 'john@myexample.com'),
array( '123-456-4', 'www.example.com'),
array( '0457878')
);
$smarty->assign('contact_info', $info);
?>
{section name=customer loop=$custid}
<hr>
id: {$custid[customer]}<br />
name: {$name[customer]}<br />
address: {$address[customer]}<br />
{section name=contact loop=$contact_type[customer]}
{$contact_type[customer][contact]}: {$contact_info[customer][contact]}<br />
{/section}
{/section}
The above example will output:
<hr>
id: 1000<br />
name: John Smith<br />
address: 253 N 45th<br />
home phone: 555-555-5555<br />
cell phone: 666-555-5555<br />
e-mail: john@myexample.com<br />
<hr>
id: 1001<br />
name: Jack Jones<br />
address: 417 Mulberry ln<br />
home phone: 123-456-4<br />
web: www.example.com<br />
<hr>
id: 1002<br />
name: Jane Munson<br />
address: 5605 apple st<br />
cell phone: 0457878<br />
发表评论
-
zend解密工具
2013-07-05 15:00 1396dezend:http://www.old.necenzur ... -
window下nginx虚拟主机不能解析php
2011-12-19 15:30 1573本地window7配置nginx 1.011虚拟主机不能解析p ... -
[转载]防御远程表单提交
2011-12-14 15:17 994防御远程表单提交 <?php ses ... -
fck 添加字数统计
2011-08-23 18:17 821<div id="textCount&quo ... -
dede伪静态
2011-07-15 17:42 828一、dede后台开启伪静态 二、修改 /include/ta ... -
Error infos: DedeCms错误警告:连接数据库失败,可能数据库密码不对或数据库服务器出错!
2011-04-27 16:00 1879这是因为DedeCMS没有正确的和数据库服务器连接,出现问 ... -
php中的NULL字符
2011-04-11 14:40 912应该很多人都还没有认清空字符 串('')和NULL的关系吧! ... -
php mssql存储过程中的用到的预定义常量
2011-04-02 11:45 749php mssql存储过程中的用到的预定义常量,方便查询 ... -
php连接Oracle Database 10g Express Edition
2011-01-05 14:22 1237Oracle Database 10g Express Edi ... -
appserv2.5.10怪异
2010-12-20 14:30 1261同事使用include('http://')包含远程文件,本地 ... -
php缓冲区
2010-12-01 17:47 871<?php for ($i=0; $i<10; ... -
$_SERVER['SCRIPT_FILENAME']与__FILE__
2010-11-29 15:17 782假如web根目录:D:/web 先建立 d:/web/a.p ... -
zend framework初识并安装
2010-11-26 18:08 1324windows下 1。到官网下去下载zend framwor ... -
百度,google站内搜索
2010-11-22 09:06 853百度站内搜索:http://www.baidu.com/s?q ... -
我的文章被php100放在首页
2010-11-20 10:08 792今天无意中发下我的javaeye博客文章,竟然被php100放 ... -
刚接触thinkphp
2010-11-16 21:40 1721把学习到的thinkphp知识记录一下 ThinkPH ... -
Content-type大全
2010-11-12 10:13 845Description of Data Content ... -
php中的可变变量
2010-11-10 18:27 776感觉这个东西没什么多大作用,只会降低程序的可读性 <? ... -
phper分段,看看自己的位置
2010-11-08 11:22 8831 : 对PHPer的划分,我对P ... -
Xdebug MUST be loaded as a Zend extension in Unknown on line 0
2010-11-06 16:42 1695PHP Warning: Xdebug MUST be ...
相关推荐
在Smarty中,`section`是用于处理数组遍历的关键特性,尤其适用于展示列表或表格数据。本篇文章将深入讲解如何在Smarty模板中使用`section`以及其相关属性和变量。 首先,我们来看一个简单的索引数组的例子: ```...
然而,默认情况下,Smarty只提供了针对数组的循环功能(如`{foreach}`和`{section}`),这在某些场景下显得不够灵活。例如,如果需要根据一个整数值(而非数组)进行循环操作时,传统的Smarty语法就显得力不逮。这种...
Smarty的模板语言非常灵活,其中section是用于循环处理数组或对象集合的标签,特别适合在模板中实现数据的循环展示。本文将详细讲解Smarty中section标签的嵌套循环用法。 首先,我们需要理解什么是section标签。在...
计算机前端-核心编程. Smarty12section控制步长、起始点、循环次数.avi
Smarty提供了丰富的内置插件,如`{foreach}`、`{section}`和`{capture}`等,用于处理循环、条件语句和变量捕获。此外,你可以自定义插件扩展其功能,比如自定义函数或过滤器。 6. **缓存机制** Smarty3.0的缓存...
6. **循环与条件语句**:Smarty提供了类似于PHP的`{foreach}`、`{section}`循环以及`{if}`、`{elseif}`、`{else}`条件语句,方便在模板中控制结构。 7. **模板继承**:通过`extends`关键字,一个模板可以继承另一个...
Smarty提供了多种内置函数和控制结构,如`{if}`、`{foreach}`、`{while}`等,用于条件判断和循环操作。例如,你可以使用`{if}`检查一个变量是否为空,或者使用`{foreach}`遍历数组并输出每个元素。此外,还有`{...
本文详细介绍了Smarty中foreach循环和section循环的使用方法和技巧。 首先,我们来看看foreach循环。foreach循环是一种通用的循环结构,用于遍历数组或对象,并为数组中的每个元素执行一组语句。在Smarty模板中,...
4. **内建函数**:除了修改器,还有许多内置函数,如`{section}`用于循环处理,`{if}`、`{elseif}`、`{else}`进行条件判断,`{include}`用来包含其他模板文件。 5. **自定义函数**:Smarty允许用户定义自己的函数,...
Smarty提供了`{section}`标签来循环处理数据,以及`{if}`、`{else}`、`{endif}`来判断条件。下面是一个简单的分页示例: ```html <!-- 分页导航 --> {if $current_page > 1} $current_page - 1}">上一页 {/if} ...
Smarty的foreach标签用于处理数组和对象的循环遍历,可以灵活地控制循环次数以及在循环过程中获取当前的次数、下标、是否是第一次或最后一次循环等信息。 首先,了解如何获取数组长度和判断数组个数是非常重要的。...
- **{$smarty.section}和{$smarty.foreach}**:提供了循环迭代的机制,增强了模板的动态性。 - **{$smarty.template}**:显示当前使用的模板名称。 - **{$smarty.version}**:返回Smarty版本号。 - **{$smarty....
- **section, sectionelse**: 循环数组。 - **strip**: 去除字符串开头和结尾的空白字符及换行符。 #### 五、自定义函数 - **assign**: 为模板变量赋值。 - **counter**: 计数器函数。 - **cycle**: 轮流使用一组...
4. **函数和插件**:Smarty提供了丰富的内置函数和插件,如`{date_format}`处理日期时间,`{section}`处理数组循环,开发者还可以自定义插件扩展功能。 5. **变量过滤**:使用`|filter_name`语法,可以对变量进行...
- **{section},{sectionelse}**: 遍历多维数组。 - **{setfilter}**: 设置过滤器。 - **{strip}**: 移除空白字符。 - **{while}**: 循环。 #### 四、自定义函数 - **定义**: 用户可以根据需要定义自己的函数,...
10. **模板设计模式**:Smarty还支持一些设计模式,如`{section}`用于循环数据集的分块显示,`{assign}`用于在模板内部定义变量。 11. **自定义函数**:如果内置的插件不能满足需求,开发者可以创建自己的模板函数...
与foreach不同的是,section可以指定一个section名,并在数组的数组中进行嵌套循环。 例如,嵌套使用section可以这样表示: ```smarty $bookmarks = array(...); $categories = array(...); {section name='bm' ...