smarty模板配置代码详细说明及如何注册自己的smarty函数
下面为smarty模板的配置文件,smarty配置的详细说明以及如何注册自己所需要的smarty函数 config.inc.php
<?php
/**
* Smarty 调用
* www.dafei.net
*/
/*** 新建 Smarty 对象 */
require_once (dirname(__FILE__).'/Smarty/libs/Smarty.class.php');
$smarty = new Smarty;
//$Smarty->caching = true; //决定是否缓存文件执行是生成的文件
//$Smarty->cache = true; //开启缓存
//$Smarty->cache_lifetime = 300; //缓存时间 单位秒
$smarty->compile_check = true; //每次执行时查看模板的内容是否改变
$smarty->debugging = false; //debugging 控制台 这是一个开关参数 如打开将显示 Smarty 变量和运行状态的调试窗口
/** 下面这几个目录可以根据自己的情况设置 **/
$smarty->template_dir = dirname(__FILE__).'/../templates'; //模板目录
$smarty->config_dir = dirname(__FILE__).'/../libs/config'; //默认的 config 文件目录名 默认为 ./configs
$smarty->compile_dir = dirname(__FILE__).'/../libs/templates_c'; //是 Smarty 默认的编译模板目录名 默认为 ./templates_c
$smarty->cache_dir = dirname(__FILE__).'/../libs/cache'; //默认的模板缓存目录名 默认为 ./cache
$smarty->left_delimiter = '<!--{'; //模板定界符 默认 {}
$smarty->right_delimiter = '}-->';
/******************************* 注册自己需要的smarty函数 ********************************/
//截取字符串 调用 { $str|smarty_gbstr:20:"..." }
function smarty_gbstr( $str, $length = -1, $s = "" )
{
$temp = strip_tags( $str );
if( ord( $temp[$length-1] ) > 128 ) {
for( $i = $j = 0; $i < strlen( $temp ) && $i < $length; $i++ ) {
if( $i == $length -1 && ord( $temp[$i] ) > 128 )
$length--; // 如果最后一字节是中文,使截取长度减一以免截断
if( ord( $temp[$i] ) > 128 )
$i++;
}
}
if( strlen( $temp ) > $length ) {
return substr( $temp, 0, $length ).$s;
}
if( $length == -1 )
return $temp;
return substr( $temp, 0, $length );
}
$smarty->register_function("smarty_gbstr", "smarty_gbstr"); //注册函数
smarty模板配置代码详细说明及如何注册自己的smarty函数的更多相关文章
- 第八十七天请假 PHP smarty模板配置以及简单的调用方式
smarty模板的配置文件 <?php define("ROOT",str_replace("\\","/",dirname(__FI ...
- 深入浅出之Smarty模板引擎工作机制(一)
深入浅出Smarty模板引擎工作机制,我们将对比使用smarty模板引擎和没使用smarty模板引擎的两种开发方式的区别,并动手开发一个自己的模板引擎,以便加深对smarty模板引擎工作机制的理解. ...
- php教程之Smarty模板用法实例
分享下php之Smarty模板的使用方法. 剖析了smarty模板的使用方法,对于学习smarty的朋友有一定的参考价值. 详情如下: 一.模板中的注释每一个Smarty模板文件,都是通过Web前台语 ...
- 写一个迷你版Smarty模板引擎,对认识模板引擎原理非常好(附代码)
前些时间在看创智博客韩顺平的Smarty模板引擎教程,再结合自己跟李炎恢第二季开发中CMS系统写的tpl模板引擎.今天就写一个迷你版的Smarty引擎,虽然说我并没有深入分析过Smarty的源码,但是 ...
- smarty详细使用教程(韩顺平smarty模板技术笔记)
MVC是一种开发模式,强调数据的输入.处理.显示是强制分离的 Smarty使用教程1.如何配置我们的smarty解压后把libs文件夹放在网站第一级目录下,然后创建两个文件夹templates 存放模 ...
- 如何配置Smarty模板
<?php //首先包含Smarty类文件 include_once('Smarty/Smarty.class.php'); //实例化Smarty类文件 $smarty=new Smarty( ...
- smarty模板的安装配置
第一步:下载Smarty模版源码包了 百度一下“Smarty下载”,下载最新版本的Smarty模版第二部:解压缩,将下载好的Smarty包解压缩 右键->解压到当前文件夹...你懂的 ...
- php Smarty模板引擎配置与测试
Smarty简介 smarty是一个使用PHP写出来的模板PHP模板引擎,它提供了逻辑与外在内容的分离,简单的讲,目的就是要使用PHP程序员同美工分离,使用的程序员改变程序的逻辑内容不会影响到美工的页 ...
- 如何在smarty模板中执行php代码
Smarty模板主要的目的是分离逻辑层和表现层,所以在模板中不应该包含逻辑部分,逻辑层也不应该含有HTML.要在模板中插入逻辑程序的这种做法"非常"不被推荐,在你的case中. 如 ...
随机推荐
- 【JavaScript】回流(reflow)与重绘(repaint)
重绘与回流 首先要了解页面是如何呈现的: HTML文档加载后生成DOM树(包括display:none;元素): 在DOM树的基础上配合css样式结构体生成render树(不包含display:non ...
- JDK安装 - Linux环境
JDK安装 - Linux环境 1. 下载 :https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-21331 ...
- A - Shortest path of the king (棋盘)
The king is left alone on the chessboard. In spite of this loneliness, he doesn't lose heart, becaus ...
- LGOJ4299 首都
这题是 \(LCT\) 维护子树信息中的 \(LCT\) 维护重心 Description link 题意概述:给定一个森林,要求支持以下操作 1.链接两个点 2.求一个点所在树的重心 3.求所有重心 ...
- vue组件传值 part2
非父子组件传值 轻量级 视图层框架 复杂组件间传值,引进其他的工具或者设计模式 1.vuex 2.总线机制 //main line 1.在main.js中注册全局的bus Vue.prototype. ...
- Linux-常见信号介绍
1.SIGINT 2 Ctrl + C时OS送给前台进程组中每个进程 2.SIGABRT 6 调用abort函数,进程异常终止 3 ...
- UVA 10801 多线程最短路
题意:一栋摩天大楼从0层到K层,有N部电梯,每个电梯都有自己的运行速度,此外,对于某个电梯来说,并不是每一层都会停,允许在某一层进行电梯换乘,每次换乘固定消耗60秒,最终求从0层去K层的最短时间,如果 ...
- 编程作业1.1——sklearn机器学习算法系列之LinearRegression线性回归
知识点 scikit-learn 对于线性回归提供了比较多的类库,这些类库都可以用来做线性回归分析. 我们也可以使用scikit-learn的线性回归函数,而不是从头开始实现这些算法. 我们将scik ...
- android测量的三种模式
测量模式有三种引用官方的解释如下 UNSPECIFIED The parent has not imposed any constraint on the child. It can be whate ...
- 主流消息队列rocketMq,rabbitMq比对使用
首先整理这个文章是因为我正好有机会实战了一下rocketmq,阿里巴巴的一个开源消息中间件.所以就与以往中rabbitmq进行小小的比较一下.这里主线的根据常见面试问题进行整理. 一.消息队列常用的场 ...