主要是libs里面的smarty类,和init.inc.php配置文件
 
剩下的是php文件夹、模板文件夹,临时文件夹、缓存文件夹、配置文件夹、插件文件夹
 
调用main文件夹中的php文件,通过libs文件夹中的smarty类调用注册(assign()方法),再调用显示模板的方法(display())
 
 
smarty变量语法:
注释语法: <{*  $a *}>
可以在模版中进行运算:<{$a+$b}>
可以忽略smarty解析:<{literal}>  #top{}  <{/literal}>
在模版中使用数组:
    类似与php    索引数组可以用下标:<{$shuzu[0]}>
                        关联数组用key值:<{$shuzu["one"]}>,还可以用. :<{$shuzu.two}>。。。
注册方法不止可以注册字符串,可以是任意类型,数组、对象等
$db = new DBDA();
$smarty->assign("duixiang",$db);
在模板中调用对象中的字段:<{$duixiang->host}>
 
介绍配置文件的使用:
配置文件的后缀是.conf:test.conf
内容是:
[one]                //分段,可以同名的key名
bgcolor=red
color=white
[two]
bgcolor=green
color=blue
引入配置文件
<{config_load file='test.conf' section="one"}>
使用需要  #key#
<div style="width:200px; height:200px; font-size:20px; font-weight:bold; {#bgcolor#}>; color:<{#color#}>">
第一个DIV
</div>
 
smarty保留字:
<{$smarty.const}>可以直接访问smarty常量:语法
<{$smarty.const.ROOT}>
定义常量在配置文件init中:语法
define("CSS_PATH",ROOT."css/");
 
 
if、foeach语句:
if语句中的判断符号因为smarty有分隔符的元婴,需要处理一下

if语句:if有结束标签

<{if $a lt 10 }>
11111111111111
<{elseif $a lt 20 }>
22222222222222
<{else}>
3333333
<{/if}>
 
foreach循环语句:
<{foreach $shuzu as $k=>$v}>
<div><{$v@index}>--<{$v@iteration}>--<{$v@first}>--<{$k}>--><{$v}></div>
<{/foreach}>
<{$v@index}>:当前数组的下标,从0开始
<{$v@iteration}>:当前数组的迭代,从1开始
<{$v@first}>:如果是第一个返回true
                            如果是最后一个返回true
 
 

smarty文件夹,第一个smarty实例总结的更多相关文章

  1. 在有道词典程序文件夹发现一个后缀名为sql的数据库(SQLite)

    缘起 在清理电脑磁盘的时候,看一看各安装文件夹有占用了多大容量,发现有道词典居然达140MB了,于是进去看看. 发现个有趣的文件:XXX.sql. 首先我们看一看它的安装文件夹的结构: Dict └─ ...

  2. eclipse创建一个文件夹

    如何给eclipse创建一个文件夹,便于项目的管理:有时我们的eclipse中会有很多项目的,有的是公司的如Project1,Project2,Project3....还有的呢, 也可能是自己平时做的 ...

  3. C# 将文件夹中文件复制到另一个文件夹

    p{ text-align:center; } blockquote > p > span{ text-align:center; font-size: 18px; color: #ff0 ...

  4. Python实践练习:将一个文件夹备份到一个 ZIP 文件

    题目 项目要求:假定你正在做一个项目,它的文件保存在 C:\AlsPythonBook 文件夹中.你担心工作会丢失, 所以希望为整个文件夹创建一个 ZIP 文件, 作为"快照" . ...

  5. flume监控一个linux指定的一个文件夹的文件信息

    1.编辑一个配置文件 flume-app.conf  拷贝至fulme的安装目录的conf下 # The configuration file needs to define the sources, ...

  6. python移动多个子文件中的文件到一个文件夹

    import os import os.path import shutil def listDir(dirTemp): if None == dirTemp: return global nameL ...

  7. MFC 中 删除一个非空文件夹

    MFC中提供了删除文件夹的一个封装函数 RemoveDirectory(LPCTSTR lpPathName),我们只要把要删除的文件夹的路径传进去就可以删除了,貌似一切如此简单.我象征性的建立一个文 ...

  8. C#文件和文件夹输入输出流代码

    1.建立一个文本文件 public class FileClass { public static void Main() { WriteToFile(); } static void WriteTo ...

  9. C# 添加,修改,删除文件夹/文件集合

    C#追加文件 StreamWriter sw = File.AppendText(Server.MapPath(".")+"\\myText.txt"); sw ...

随机推荐

  1. 关于java中用itext导出word的一点想法

    这几天在项目组只做了很少的事情,主要还是自己不认真地说.我的部分是要负责用itext导出word文档这一块,之前看到大佬们做出了EXCEL部分觉得很是惊奇,就像刚刚接触HTML一样的感觉.但是毕竟自己 ...

  2. Android MediaCodec硬编兼容性测试方案

    作者:阿宝 更新:2016-08-15 来源:彩色世界(https://blog.hz601.org/2016/08/15/android-mediacodec-hardcode-compatibil ...

  3. spring boot整合jsp的那些坑(spring boot 学习笔记之三)

    Spring Boot 整合 Jsp 步骤: 1.新建一个spring boot项目 2.修改pom文件 <dependency>            <groupId>or ...

  4. Sublime Text3自定义代码片段

    1.打开工具--插件开发--新建代码片段 会出现下图: 2.在<![CDATA[和]]>内写下你要的代码片段,注意的是代码片段要靠最左边. 3.设置快捷键,把下面tabTrigger标签的 ...

  5. 【DDD】领域驱动设计精要

    本文算是<领域驱动设计>这本书的读书笔记,加上自己的一些读后感.网上有很多这本书的读书笔记,但是都是别人的,不如自己总结的理解深刻.建议大家在读这本书时结合<实现领域驱动设计> ...

  6. Grails笔记三:完整的文件上传实例

    文件上传在web应用中是比较普遍的,相对于使用jsp等技术实现文件上传,Grails的文件上传着实让人喜爱,因为极其简单,让人看一遍就容易轻松记住!不多说,实例如下: 假设已有一个名为uploadFi ...

  7. 用python实现简单的数字信号软件滤波处理

    做嵌入式开发,经常需要通过逻辑分析仪对数字信号进行数据分析.如果信号源附近有强干扰源,并且逻辑分析仪滤波效果不好的话,获取到的数字信号,经常带有一些"毛刺",这些"毛刺& ...

  8. 动态创建angular组件实现popup弹窗

    承接上文,本文将从一个基本的angular启动项目开始搭建一个具有基本功能.较通用.低耦合.可扩展的popup弹窗(脸红),主要分为以下几步: 基本项目结构搭建 弹窗服务 弹窗的引用对象 准备作为模板 ...

  9. 我的hibernate学习记录(二)

    通过上一篇文章我的hibernate学习记录(一)基本上的入门了hibernate,但是,里面还有还多东西是通过迷迷糊糊的记忆,或者说copy直接弄进去的,所以这篇文章就需要对上篇的一些文件.对象进行 ...

  10. Linux运维:安装CentOS7.2-图解

    矮哥linux运维群: 93324526 笔者QQ:578843228 此篇博文针对最小化安装,和只有图解.有不懂地方,欢迎加群询问.