码迷,mamicode.com
首页 > Web开发 > 详细

PHP Smarty 模板 自定义插件

时间:2016-08-29 13:22:26      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:php smarty 模板 自定义插件

插件

是按需载入的。当特定的修饰器,函数,资源等被调用的时候插件才会被载入。

插件目录变量

可以是一个路径的字符串或者是包含多个路径的数组。

安装插件的方法

是直接把插件文件放置在这些目录下,Smarty会自动按需使用。

  1. 设定插件目录(新建一个myplugins文件夹)

D:\wamp\www\test\smarty\libs\plugins\

D:\wamp\www\test\smarty\libs\myplugins\

//定义根目录
define(‘ROOT‘, str_replace("\\", "/",dirname(__FILE__))."/");
//注意添加一个插件,要把系统默认设置的路径加入 否则不能使用默认系统的插件
$smarty->setPluginsDir(array(
    ROOT."/libs/plugins/",//系统默认设置的路径
    ROOT."/libs/myplugins/",//自定义的
));

 2.定义插件函数

<?php
/*
 * 1.确定插件位置 $smarty->setPlugsDir();
 * 2.文件命名要有规则,才能通过文件名确定这个文件  modifier.函数名.php
 * 3.函数名要有规则,才能找到这个文件中的这个函数
 * 4.参数要有规则 第一个必须是要处理的变量 第二个以后才是要使用的参数
 */
        function smarty_modifier_mystyle($str,$size="3",$color="pink"){
                        return "<font color=‘{$color}‘ size=‘{$size}‘>{$str}</font>";
        }

3.模板调用插件(修饰器)

<{$sex|mystyle:6:red}>

4.浏览器输出

male x

附上php页面代码

<?php 
//创建smarty对象
require_once ‘./libs/Smarty.class.php‘;
//定义根目录
define(‘ROOT‘, str_replace("\\", "/",dirname(__FILE__))."/");
//实例化Smarty类
$smarty=new Smarty();
//设定定界符
$smarty->left_delimiter="<{";
$smarty->right_delimiter="}>";
//设置为false 定界符号左右可以有空格
$smarty->auto_literal = false;

//添加一个插件的目录
//$smarty->setPluginsDir(ROOT."/libs/myplugins/");

//注意添加一个插件,要把系统默认设置的路径加入 否则不能使用默认系统的插件
$smarty->setPluginsDir(array(
    ROOT."/libs/plugins/",//系统默认设置的路径
    ROOT."/libs/myplugins/",//自定义的
));
//获取插件的目录
var_dump($smarty->getPluginsDir());
//变量赋值
$smarty->assign(‘sex‘,‘male x‘);
//变量输出
$smarty->display(‘hello.tpl‘);
?>


本文出自 “津沙港湾” 博客,请务必保留此出处http://11410485.blog.51cto.com/11400485/1843672

PHP Smarty 模板 自定义插件

标签:php smarty 模板 自定义插件

原文地址:http://11410485.blog.51cto.com/11400485/1843672

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!