保留变量  方便使用php

不用assign

{$smarty}

get

{$smarty.get.page}

session

{$smarty.session.user.name}

server

cookies

request

const(常量)

变量调节器

escape(跟php中的htmlentities())

$smarty->assign('title','<h3>标题</h3>')

{$title}则直接输出 html的格式

{$title|escape}         转码

escape($title)

default

当没有的时候则是默认值

date_format

{$smarty.now|date_format:"Y-m-d H:i:s"}

truncate(截取长度)

{"标题标题"|truncate:8}

upper(转大写)

{"lamp"|upper}

strtoupper

{"lamp"|strtoupper}

{"="|str_repeat:40}

php中的函数可以直接作为变量调节器使用

自定义函数也可以

内置函数

foreach

{foreach $stulist as $stu}

<tr>

<td>{$stu@index+1}</td>

<td>{$stu.name}</td>

</tr>

{/foreach}

if elseif else

while

include

for

(0-100的偶数)

{for $i=1 to 100 step 2}

{i}

{/for}

A.     Smarty配置

定义定界符(属性)

$left_delimiter[左定界符]

$right_delimiter[右定界符]

$smarty->left_delimiter='<{';

$smarty->right_delimiter='}>';

定义模版目录

$template_dir[模板目录]

$smarty->template_dir='./view';//属性

$smarty->setTemplateDir('./view');//方法

定义编译的目录

$smarty->setCompileDir('./view_c');

编译目录不存在则自己创建

缓存目录

$smarty->setCachrDir('./cache')     ;

配置文件的目录

$smarty->setConfigDir('./config');

B.     Smarty缓存

$smarty->conpile_check  [编译检查]

$smarty->conpile_compile  [强制编译]

1.开启缓存

$caching

$smarty->caching=1;

接受参数

$id=intval($_GET['id'])l

//判断缓存是否有效,把文章ID作为缓存ID

//同一个模版,就可以有多个缓存文件

if(!smarty->isCached('article.tpl',$id)){

$data=array(

2=>array('id'=>2,'title')

)

}

2.缓存时间

$smarty->cache_lifetime=50  //秒表 默认是3600

3.//判断是否有缓存

if(!$smarty->isCached('1.tpl')){

//有可能是从数据库查询

//分配变量

$smarty->assign('title','标题')

//当前时间

$smarty->assign('now',date('Y-m-d H:i:s'));

}

4.$smarty->display('article.tpl',$id)

不想缓存的地方

{nocache}

{$smarty.now|date_format}

{/nocache}

//清除某一个模版的缓存

$smarty->clearCache('article.tpl')

//清除某一个模版的ID的缓存

$smarty->clearCache('article.tpl',2)

C.     Smarty插件

第一种方法

//将自定义函数注册为变量调节器

//第一个参数是插件的类型(9种)

//第二个参数是在Smarty中使用的名字

//第三个参数是我们自定义的函数名字

$smarty->registerPlugin('modifier','wanghaoyu',myfun)

第二种方法

//添加一个插件目录

//将特定命名的插件放到目录中

//规则:类型前缀.函数名.php(9中类型前缀)

$smarty->addPluginDir('./myPlugins')

自定义函数的 smarty_modifier_前缀不能改

D.     Smarty继承    extends

display('index.html')

在index代码中写上

{extends 'base.html'}

{block name='main'}

<div>

index的内容

</div>

{/block}

在base.html想改的区域

{block name='main'}

{/block}

唯一能做的就是重写某一块

2.在block里面追加内容

{block name='top' append}

<div>haha</div>

{/block}

3.某个部分的背景变色,当内容变的时候同时变

{block name='top'}

<div class='top'>

{$smarty.block.parent}

</div>

{/block}

4.title

模版

{block name='head'}

<head>

<title>{$smarty.block.child}</title>

</head>

{/block}

显示页

{block name='head'}文章{/block}

E.      Smarty 的include

Smarty s02相关推荐

  1. smarty mysql demo_PHP Smarty模版简单使用方法

    本文实例讲述了PHP Smarty模版简单使用方法.分享给大家供大家参考,具体如下: Index.php: require('../libs/Smarty.class.php'); $smarty = ...

  2. php smarty关闭缓存,php+Smarty的缓存操作

    一.使用缓存 要开启smarty的缓存,只需将caching设为true,并指定cache_dir即可. 使用cache_lefetime指定缓存生存时间,单位为秒 要对相同页面生成多个不同的缓存,在 ...

  3. php smarty模板引擎 性能,smarty性能低?直接使用php模板引擎吧

    skymvc框架使用的php模板引擎 1.[代码][PHP]代码 class smarty{ public $template_dir = '';//模版文件夹 public $cache_dir = ...

  4. smarty的简单分页

    以下是模板中的smarty代码,用smarty简单的代入相关的变量就行了,非常简单,但是在php代码中还要传入page这个参数.我觉得这样分挺好,非常简单.我越来越喜欢用smarty了  {if $p ...

  5. ecshop模板smarty foreach详解 [ECshop]

    {foreach},{foreachelse} {foreach} 用于像循环访问一个数字索引数组一样循环访问一个关联数组,与仅能访问数字索引数组的{section}不同,{foreach}的语法比 ...

  6. PHP的Smarty

    原理: 把模板文件编译成php文件,然后每次都去读取下模板的修改时间,没有修改就不编译.然后include这个"编译"后的PHP文件. 所谓编译也就是模板用正则替换成含PHP代码的 ...

  7. Smarty中文手册,Smarty教程,Smarty模板的入门教材

    Smarty中文手册,Smarty教程,Smarty模板的入门教材 首先,这份Smarty中文手册的翻译工作是由喜悦国际村村民自发组织的,不代表任何人的意见和观点.对他们的无私奉献精神,我们表示感谢, ...

  8. smarty mysql_Smarty处理mysql查询数组

    Smarty处理mysql查询数组 MySQL的查询结果一般是一个数组,而不是所有结果集.因此我们需要将结果全部存到数组中进行处理,然后就可以很轻松的再Smarty中使用了. PHP Mysql 代码 ...

  9. Smarty的配置与高级缓存技术

    前言 Smarty 是一个出色的PHP模板引擎,它分离了逻辑代码和user interface. 学习和使用Smarty,没有应用到它的缓存技术是一个很大的损失,它可以将用户最终看到的HMTL文件缓存 ...

最新文章

  1. appium ios 真机自动化环境搭建
  2. SAP SD 定价过程的16个字段的作用说明
  3. 电脑下面的任务栏怎么取消隐藏_电脑桌面右下方任务栏的小图标如何隐藏
  4. c语言中文件如何插入数据,急求如何将下列C语言程序数据存储到文件中?
  5. 不连续字符的串计数(洛谷P4439题题解,Java语言描述)
  6. vue 实现横向时间轴
  7. Android TTS 中文 文字转语音 使用TextToSpeech Svox .
  8. Python之数据分析(星期均值、星期汇总、Numpy的take与where方法、apply_along_axis函数)
  9. kafka(四)生产者和消费者配置优化
  10. 将button改为圆形(swift/oc/xcode/iOS)
  11. Redis源码之——跳表skiplist原理和源码调试
  12. WP7手机Zune官方升级教程
  13. win10 安装pytorch gpu 及 解决报错“OSError: [WinError 126] 找不到指定的模块
  14. Color颜色——颜色模式、颜色基本特征、网页颜色以及其代码
  15. APS生产计划排产与ERP生产计划差异对比
  16. windows11 git 安装SSH密钥
  17. Centos内核升级-Yum方式_1
  18. Java 多线程面试题及回答
  19. 梯度累加(Gradient Accumulation)
  20. Unreal Engin_画廊制作笔记 _012修改World Settings设置

热门文章

  1. 系列(三)—Redis
  2. django ORM相关的那些操作汇总
  3. 【poj3709】 K-Anonymous Sequence
  4. 遍历聚合对象中的元素——迭代器模式(二)
  5. C# 对象名无效 问题
  6. [转贴]玩你没商量:ADSL速率数字游戏解密
  7. P2324 骑士精神
  8. (7)Python赋值机制
  9. Netty(二)——TCP粘包/拆包
  10. Contains Duplicate --包含相同值