热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php-smarty模板使用教程(二)

foreachelese函数表示当数组没有任何数据时执行的代码

第一部分(入口):smarty模板介绍和入门

------------------------新内容开始————————————
 
Smarty 
模板设计篇
 
四、内建函数
 
1、 capture
语法:
{capture name=‘var’}    name表示将内容保存到指定的变量中
内容
{/capture}
捕获函数之间的内容,而不是输出
输出格式:
{$smarty.capture.var}
 
2、 config_load 
{config_load file=“file”section=“section”}
加载配置文件
File:要加载的配置文件名称
Section:要加载的配置节
关于配置文件中的变量有以下两种引用方式:
{#var#}
{$smarty.config.var}
 
3、 foreach,foreachelse
{foreach from=数组 key=键 name=名称 item=内容 } 
{foreachelse} 
{/foreach}
foreach函数用于遍历数组
foreachelese函数表示当数组没有任何数据时执行的代码
From:要遍历的数组
Key:遍历到的数组下标
Item:遍历到的数组元素值
Name:为当前的foreach命名
l foreach 的内置变量
$smarty.foreach.name.index :索引    从0开始排列
$smarty.foreach.name.iteration :第几次  从1开排列
$smarty.foreach.name.first :如果是第一次执行时为true
$smarty.foreach.name.last :如果是最后一次执行时为true
$smarty.foreach.name.total :循环总次数
l foreach 的内置变量   3.0
{foreach $myarray as $key => $value}
{$value@iteration} 当前循环是第几次
{$value@index} 循环索引
{$value@first}第一次循环时为true
{$value@last}最后一次循环时为true
{$value@total}循环总次数
{/foreach} 
 
 
 
4、 include 
{include file=“file” assign=“var” [var ...]}
包含另一个模板文件
File:要包含的模板文件
Assign:将要包含的文件的结果保存至指定的变量,本次不会输出
[var …]:可以给模板传参   名=值
在php中传递的变量可以在子模板中使用
 

 
5、include_php
{ include_php file=“file” assign=“var” Once=“true|false”}
包含一个php文件
File:要包含的php文件
Assign:将输出结果保存至指定的变量中
Once:是否只包含一次
举例:
现在我想在模板中显示最新的系统时间
在smarty3.0以前,可以直接使用include_php内建函数,但是后来考虑到一些安全方面的问题,所以在smarty3.0以后,将这个功能保留到了SmartyBC.class.php这个文件中
 

 
6 insert
{ insert name=“func”assign=“var” [var ...] } 
使用insert可以调用某个php自定义函数
function insert_func(){......}
name:要调用的函数名称 这个函数在php中必须以insert_为前缀
assign:保存输出结果
[var…]:给要调用的函数传参
 
smarty的使用
 
smarty
 
Include:内容可以被缓存
Insert:内容永不缓存
 
7、if elseif else
语法:
{if}
{elseif}
{else}
{/if}
 
smarty
 
8、ldelim、rdelim
l ldelim
{ldelim} :{
l rdelim
{rdelim} :}
比如说,在页中就想输出的是{$a}原样
{ldelim}$a{rdelim}
 
9、literal
{literal} 
……
{/literal}
Literal 两个标记之间的内容不会被smarty所解析
 

 
 
10、php
{php}
……
{/php}
可以在这对php标记之中加php代码
这个功以在smarty3.0中被放到了smartyBC.class.php这个文件中,如果想使用,需要引用的是该文件
现在被放到smartyBc.class.php类的内建函数,以后有可能是不支持的,不建议大家使用
 

 
 
11、section,sectionelse    
{section name=名称 loop=循环数组(次数)  start=开始(0) step=步阶(1) 
max=最大循环次数}
{sectionelse}   loop指定的数组没有值时
{/sectionelse}
{/section}
通过指定的数组进行循环,数组元素个数决定了循环次数
Name:命名
Loop:循环数组 (这个数组元素个数决定了决数)
以上两个属性是必添的
Start:开始索引
Step:步长
Max:最大的循环次数
 

 
 

 
l section的内置变量
{$smarty.section.name.index} :索引
{$smarty.section.name.index_prev} :上一次的索引
{$smarty.section.name.index_next} :下一次的索引
{$smarty.section.name.iteration } :第几次
{$smarty.section.name.first|last} :第1次和最后一次时为真
{$smarty.section.name.total} :共循环多少次
 
12、strip
{strip}
……
{/strip}
去掉左右空格
 


推荐阅读
  • 采用IKE方式建立IPsec安全隧道
    一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
  • 本文介绍了数据库体系的基础知识,涵盖关系型数据库(如MySQL)和非关系型数据库(如MongoDB)的基本操作及高级功能。通过三个阶段的学习路径——基础、优化和部署,帮助读者全面掌握数据库的使用和管理。 ... [详细]
  • 本文详细介绍了优化DB2数据库性能的多种方法,涵盖统计信息更新、缓冲池调整、日志缓冲区配置、应用程序堆大小设置、排序堆参数调整、代理程序管理、锁机制优化、活动应用程序限制、页清除程序配置、I/O服务器数量设定以及编入组提交数调整等方面。通过这些技术手段,可以显著提升数据库的运行效率和响应速度。 ... [详细]
  • 本文详细介绍了在不同操作系统中查找和设置网卡的方法,涵盖了Windows系统的具体步骤,并提供了关于网卡位置、无线网络设置及常见问题的解答。 ... [详细]
  • 本文探讨了如何解决PHP文件无法写入本地文件的问题,并解释了PHP文件中HTML代码无效的原因,提供了一系列实用的解决方案和最佳实践。 ... [详细]
  • 使用PHP实现网站访客计数器的完整指南
    本文详细介绍了如何利用PHP构建一个简易的网站访客统计系统。通过具体的代码示例和详细的解释,帮助开发者理解和实现这一功能,适用于初学者和有一定经验的开发人员。 ... [详细]
  • 福克斯新闻数据库配置失误导致1300万条敏感记录泄露
    由于数据库配置错误,福克斯新闻暴露了一个58GB的未受保护数据库,其中包含约1300万条网络内容管理记录。任何互联网用户都可以访问这些数据,引发了严重的安全风险。 ... [详细]
  • ZooKeeper集群脑裂问题及其解决方案
    本文深入探讨了ZooKeeper集群中可能出现的脑裂问题,分析其成因,并提供了多种有效的解决方案,确保集群在高可用性环境下的稳定运行。 ... [详细]
  • 了解如何通过设置和调整交易限额来增强信用卡使用的安全性,保障资金安全。 ... [详细]
  • 2020初级电工模拟题库与实操视频指南
    本文提供2020年初级电工模拟考试题库及实操视频资源,涵盖最新大纲和真题解析,帮助考生高效备考。内容包括理论知识、实操技能以及详细答案解析,适用于全国各地区电工(初级)考试。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • 如何在Windows 10中设置锁屏密码
    本文详细介绍了在Windows 10操作系统中设置锁屏密码的步骤,帮助用户增强电脑的安全性。 ... [详细]
  • 如何使用Ping命令来测试网络连接?当网卡安装和有关参数配置完成后,可以使用ping命令来测试一下网络是否连接成功。以winXP为例1、打开XP下DOS窗口具体操作是点击“开始”菜 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • 1.执行sqlsever存储过程,消息:SQLServer阻止了对组件“AdHocDistributedQueries”的STATEMENT“OpenRowsetOpenDatas ... [详细]
author-avatar
zhangsheng7_215
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有