zoukankan      html  css  js  c++  java
  • Smarty s02

    保留变量  方便使用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  

            

            

            

            

  • 相关阅读:
    Kafka 1.0.0集群安装
    java实现以docx格式导出
    基于java处理.docx格式的word合并
    基于java 合并.doc和docx格式的Word文件
    Docker版本Jenkins的使用
    Codeforces 1243 D 0-1 MST
    Public model for matrix
    Codeforces 1220 E Tourism
    Codeforces 1221 G Graph And Numbers
    Codeforces 1221 F Choose a Square
  • 原文地址:https://www.cnblogs.com/wicub/p/3143176.html
Copyright © 2011-2022 走看看