php smarty模板遍历,smarty模板中for循环的扩展插件_PHP教程
smarty是php开发中非常流行的一个模板,以前曾发过一篇文章php smarty中文截取插件开发示例是说明如何开发smarty插件的,这篇文章将分享一下如何为smarty模板做一个for循环的扩展插件,方面我们日常的程序开发。
首先说说这个for循环扩展是做什么用的吧。今天在改以前的一个网站的时候,由于一些特定的原因需要在smarty模板中做一个for循环,虽然smarty是可以在模板中以{php}......{/php}标签的形式来直接书写php语句语法的。但由于循环中要用到模板中的变量的值,而在模板中直接写的php语句没办法获取到模板变量中的值,所以这个想法就行不通了,最后就想到是不是也可以实现在smarty模板中直接使用for循环呢?
下面是作者为smarty增加一个for循环扩展插件的具体步骤。
(1)在smarty模板的安装目录下的plugins目录内新建一个文件,命名为 block.for.php ,然后在这个文件里面输入如下代码:
$v){
switch($k){
case 'start':
case 'to':
case 'step':
$$k=(int)$v;
break;
default:
$smarty->trigger_error("textformat: 未知属性:'$k'");
}
}
$_output='';
for($_x=$start;$_x<=$to;$_x+=$step){
$_output.=$content."\n\r";
}
return $_output;
}
(2)然后就可以直接在smarty模板中使用for循环了,作者的使用案例如下:
php文件部分代码:
$vote='[[[';//我要在模板中将这三个符号转变为三个五角星图片
$smarty->assign('vote',$vote);
smarty模板文件部分代码:
{if false!==$vote|@stripos:'['}
{for start=1 to=$vote|@strlen step=1}
{/for}
{/if}
ok,以上问题解决。大同小异,如果你还需要为smarty扩展更多功能,方法同上,基本上都可以实现。
您可能感兴趣的文章smarty 模板中循环表格补充不全的td
smarty模板中使用php函数以及smarty模板中如何对一个变量使用多个函数
thinkphp模板中判断volist循环的最后一条记录
smarty模板中判断数组为空的方法
smarty模板中给信息添加最新标签
smarty模板保留变量总结
php smarty中文截取插件开发示例
smarty模板中如何生成随机数
http://www.bkjia.com/PHPjc/764150.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/764150.htmlTechArticlesmarty是php开发中非常流行的一个模板,以前曾发过一篇文章php smarty中文截取插件开发示例是说明如何开发smarty插件的,这篇文章将分享一下...
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网
php smarty模板遍历,smarty模板中for循环的扩展插件_PHP教程相关推荐
- smarty 模板 for循环 php,smarty模板中for循环的扩展插件
smarty是php开发中非常流行的一个模板,以前曾发过一篇文章php smarty中文截取插件开发示例是说明如何开发smarty插件的,这篇文章将分享一下如何为smarty模板做一个for循环的扩展 ...
- python list遍历删除_Python中list循环遍历删除数据的正确方法
前言 初学Python,遇到过这样的问题,在遍历list的时候,删除符合条件的数据,可是总是报异常,代码如下: num_list = [1, 2, 3, 4, 5] print(num_list) f ...
- 记录开发移动端项目过程中的各种问题、插件及教程(不定时更新)
本文为整理记录本人开发移动端项目的过程中,针对项目中业务需求所碰到的各种坑.用到的各种插件及教程整理?. 以下为教程整理: 1.再聊移动端页面的适配_Layout, 布局, mobile, CSS 教 ...
- 在anaconda中为jupyter安装扩展插件
安装过程: 1.在开始菜单中打开Anaconda Prompt 2.执行如下安装命令: conda install -c conda-forge jupyter_contrib_nbextension ...
- 单片机c语言中的循环语句,单片机c语言教程:C51循环语句
循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操 作.如一个 12M 的 51 芯片应用电路中要求实现 1 毫秒的延时,那么就要执行 1000 次空语句 才能达到延时的目的( ...
- php在双引号中输出变量要加大括号,php中输出变量加大括号{}作用_PHP教程
php输出变量加大括号,这是什么写法?看下面一段代码: 代码如下 header("Content-Type:text/html; charset=utf-8"); $test=&q ...
- ci php做记录删除,CI(CodeIgniter)框架中的增删改查操作_PHP教程
CodeIgniter的数据函数类在 \system\database\DB_active_rec.php 代码如下: class ModelName extends CI_Model { funct ...
- cookie购物车php简单,php中利用cookie实现购物车实例_PHP教程
– phpMyAdmin SQL Dump – version 2.11.9.2 – – 主机: 127.0.0.1:3306 – 生成日期: 2009 年 12 月 06 日 02:05 – 服务器 ...
- php如何定义和使用常量,PHP中如何定义和使用常量_PHP教程
1.自定义常量 * 必须用函数define()定义 * 定义完后其值不能再改变了 * 使用时直接用常量名,不能像变量一样在前面加$s 例如:define("PI",3.14);定义 ...
最新文章
- Spark源码学习之IDEA源码阅读环境搭建
- java有没有求组合的函数_如何在Java 8中使用compose和andThen组合函数
- 【Network Security!】用户组管理与批处理中(:goto)的用法
- 网络嗅探混杂模式与非混杂模式的区别
- Android studio 克隆分支
- Mac中搭建Kubernetes
- 注册表删除chrome插件
- Nginx安装负载均衡配置 fair check扩展
- struts如何使用命名空间_Python基础篇:作用域和命名空间
- 前后端通吃,vue大全Mark一下
- Web前端三大框架的总结,你是否知道呢?
- 30个非常有趣的404错误页面设计欣赏
- 25个常用Matplotlib图的Python代码
- 参考文献的序号如何设置
- Web网站扫【小程序码】登录的技术实现
- 本地文件压缩上传linux系统,使用压缩的方式将Windows下的zip压缩包上传到Linux系统的方法解析...
- 解决私有仓库 git 没有权限的问题
- 扫描二维码下载app,判断是Android还是ios,并跳转到不同的下载地址
- QT中的视频显示优化
- 手把手教你如何在广交会使用OBS直播丨汇信外贸软件
热门文章
- spring 源码阅读笔记-从浅到深的解析
- 获取Excel中Undo按钮的项目
- 生产成本 - 异想天开
- Exchange 2013/2016监控邮箱的一些介绍
- ubuntu系统写路由指令_linux系统下,traceroute路由跟踪指令详解
- 计算机专业研究生需要什么笔记本电脑,计算机专业研究生买笔记本,再请提建议!...
- Mybatis核心源码赏析(一)
- 《随机漫步的傻瓜》---寻找你的投资原则,查理芒格说:当成功概率很高的时刻,下最大的赌注,其余时间按兵不动...
- kaldi群和kaldi新手群
- GE SR469-P5-HI-A20 带有5A相CT次级线圈的标准装置