smarty模板中for循环的扩展插件_PHP教程
程序员文章站
2024-01-21 10:59:46
...
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(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模板中如何生成随机数
推荐阅读
-
smarty模板中for循环的扩展插件_PHP教程
-
php中smarty实现多模版网站的方法,phpsmarty实现模版_PHP教程
-
PHP中__autoload和Smarty冲突的简单解决方法,__autoloadsmarty_PHP教程
-
codeigniter中view通过循环显示数组数据的方法,codeigniterview_PHP教程
-
php中smarty区域循环的方法_PHP教程
-
php中smarty模板条件判断用法实例_PHP教程
-
smarty模板引擎从配置文件中获取数据的方法_PHP
-
php中smarty模板条件判断用法实例,smarty模板_PHP教程
-
smarty模板引擎中内建函数if、elseif和else的使用方法_PHP
-
ThinkPHP模板中判断volist循环的最后一条记录的验证方法_PHP