下面为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函数的更多相关文章

  1. 第八十七天请假 PHP smarty模板配置以及简单的调用方式

    smarty模板的配置文件 <?php define("ROOT",str_replace("\\","/",dirname(__FI ...

  2. 深入浅出之Smarty模板引擎工作机制(一)

    深入浅出Smarty模板引擎工作机制,我们将对比使用smarty模板引擎和没使用smarty模板引擎的两种开发方式的区别,并动手开发一个自己的模板引擎,以便加深对smarty模板引擎工作机制的理解. ...

  3. php教程之Smarty模板用法实例

    分享下php之Smarty模板的使用方法. 剖析了smarty模板的使用方法,对于学习smarty的朋友有一定的参考价值. 详情如下: 一.模板中的注释每一个Smarty模板文件,都是通过Web前台语 ...

  4. 写一个迷你版Smarty模板引擎,对认识模板引擎原理非常好(附代码)

    前些时间在看创智博客韩顺平的Smarty模板引擎教程,再结合自己跟李炎恢第二季开发中CMS系统写的tpl模板引擎.今天就写一个迷你版的Smarty引擎,虽然说我并没有深入分析过Smarty的源码,但是 ...

  5. smarty详细使用教程(韩顺平smarty模板技术笔记)

    MVC是一种开发模式,强调数据的输入.处理.显示是强制分离的 Smarty使用教程1.如何配置我们的smarty解压后把libs文件夹放在网站第一级目录下,然后创建两个文件夹templates 存放模 ...

  6. 如何配置Smarty模板

    <?php //首先包含Smarty类文件 include_once('Smarty/Smarty.class.php'); //实例化Smarty类文件 $smarty=new Smarty( ...

  7. smarty模板的安装配置

    第一步:下载Smarty模版源码包了    百度一下“Smarty下载”,下载最新版本的Smarty模版第二部:解压缩,将下载好的Smarty包解压缩    右键->解压到当前文件夹...你懂的 ...

  8. php Smarty模板引擎配置与测试

    Smarty简介 smarty是一个使用PHP写出来的模板PHP模板引擎,它提供了逻辑与外在内容的分离,简单的讲,目的就是要使用PHP程序员同美工分离,使用的程序员改变程序的逻辑内容不会影响到美工的页 ...

  9. 如何在smarty模板中执行php代码

    Smarty模板主要的目的是分离逻辑层和表现层,所以在模板中不应该包含逻辑部分,逻辑层也不应该含有HTML.要在模板中插入逻辑程序的这种做法"非常"不被推荐,在你的case中. 如 ...

随机推荐

  1. 【JavaScript】回流(reflow)与重绘(repaint)

    重绘与回流 首先要了解页面是如何呈现的: HTML文档加载后生成DOM树(包括display:none;元素): 在DOM树的基础上配合css样式结构体生成render树(不包含display:non ...

  2. JDK安装 - Linux环境

    JDK安装 - Linux环境 1. 下载 :https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-21331 ...

  3. 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 ...

  4. LGOJ4299 首都

    这题是 \(LCT\) 维护子树信息中的 \(LCT\) 维护重心 Description link 题意概述:给定一个森林,要求支持以下操作 1.链接两个点 2.求一个点所在树的重心 3.求所有重心 ...

  5. vue组件传值 part2

    非父子组件传值 轻量级 视图层框架 复杂组件间传值,引进其他的工具或者设计模式 1.vuex 2.总线机制 //main line 1.在main.js中注册全局的bus Vue.prototype. ...

  6. Linux-常见信号介绍

    1.SIGINT           2 Ctrl + C时OS送给前台进程组中每个进程 2.SIGABRT             6              调用abort函数,进程异常终止 3 ...

  7. UVA 10801 多线程最短路

    题意:一栋摩天大楼从0层到K层,有N部电梯,每个电梯都有自己的运行速度,此外,对于某个电梯来说,并不是每一层都会停,允许在某一层进行电梯换乘,每次换乘固定消耗60秒,最终求从0层去K层的最短时间,如果 ...

  8. 编程作业1.1——sklearn机器学习算法系列之LinearRegression线性回归

    知识点 scikit-learn 对于线性回归提供了比较多的类库,这些类库都可以用来做线性回归分析. 我们也可以使用scikit-learn的线性回归函数,而不是从头开始实现这些算法. 我们将scik ...

  9. android测量的三种模式

    测量模式有三种引用官方的解释如下 UNSPECIFIED The parent has not imposed any constraint on the child. It can be whate ...

  10. 主流消息队列rocketMq,rabbitMq比对使用

    首先整理这个文章是因为我正好有机会实战了一下rocketmq,阿里巴巴的一个开源消息中间件.所以就与以往中rabbitmq进行小小的比较一下.这里主线的根据常见面试问题进行整理. 一.消息队列常用的场 ...