搜索
系统检测到您的用户名不符合规范:

给smarty加自定义插件,并独立放在各自的项目目录内。

浏览:1755 发布日期:2015年02月02日 分类:技术分享 关键字: smarty 插件
我在使用ThinkPHP3.1 + smarty,最近,参考了别人的代码,发现并试用了smarty插件,通常情况是把smarty插件放在smarty/plugins/目录下,但这样不大灵活。为了在使用ThinkPHP时,在各个项目中使用不同的smarty自定义插件,就得各自独立安放插件了。

我做了试验,可以起作用。

1.修改ThinkPHP中的smarty配置,在ThinkPHP\Extend\Vendor\Smarty修改Smarty.class.php文件,把96行附近的
var $plugins_dir = array('plugins');
修改为
var $plugins_dir = array('plugins',COMMON_PATH);

2.在项目目录中安放自定义插件,如:
home/Common/function.load_data.php
其中,home/Common/是项目函数路径,function.load_data.php是smarty的插件。

3.在模板中就可以使用自定义插件了,如:
{load_data assign="arr" sql="select" where_array=$smarty.get.uid }

{foreach from=$arr item=list}
{$list.xxx}
{/foreach}

其中,load_data是函数名,arr是输出数组的名称,sql,where_array则是自定义的其他的配合function.load_data.php的部分。


4.这样一来,有很多数据的抓取,就可以直接在模板中编写了,而不用去编写php了。


5.这样做的目的是为了使smarty共用,但插件相互独立。smarty寻找插件时,会根据插件配置路径来查找插件,这个$plugings_dir是一个数组,所以多个路径就使用多个数组元素。COMMON_PATH是ThinkPHP项目函数路径的常量
最佳答案
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
50030
积分:1129 等级:LV3
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /