Smarty笔记

Smarty 常规配置

创建4个配置目录

templates: 放置模板的(美工开发的静态页面 div css)

templates_c :  编译文件(美工页面 和  php程序组装)

configs : 配置文件

cache: 缓存文件

调用模板: $smarty->display("模板名称");

默认指向 templates /index.html

注意:在smarty模板中 访问的一定是 php

自定义目录:

修改模板目录:  $smarty->setTemplateDir("tpl/");

修改编译目录: $smarty->setCompileDir("tpl_c/");

修改配置文件目录: $smarty->setConfigDir("test/");

修改缓存目录:  $smarty->setCacheDir("demo/");

修改定界符:

修改左定界符: $smarty->left_delimiter = "<{";

修改右定界符: $smarty->right_delimiter = "}>";

Smarty 系统保留变量

{literal} 代码{/literal} 禁止smarty 解析

{* 注释内容 *} 注释

{$smarty.get.goods_id}   $_get接收

{$smarty.post.goods_id} $_post接收

{$smarty.const.HOST} 常 量

{$smarty.now}  时间戳

{$smarty.template}  返回当前模板名称

{$smarty.template_object->_file_perms} 访问权限

{$smarty.template_object->default_config_type} 类型

{$smarty.current_dir} 返回当前目录名称

{$smarty.version} 返回当前Smarty的版本

{$smarty.ldelim}, {$smarty.rdelim} 显示左右定界符

使用配置变量信息 :

在根目当下 创建configs文件夹 创建配置文件 .conf文件

configs 配置目录:配置网站的常规信息的 网站的标题,网站icp 网站邮箱...

webName=test;

webEmail = [email protected];

webICP = 123455;

导入配置文件:

config_load file="配置文件的名称"

模板中: <{#变量名称#}>

例:

clr="red"

bgclr="blue"

模板页引用

{config_load file="site.conf" }

{#clr#}<br />

{#bgclr#}<br />

{$smarty.config.clr}<br />

分段式配置:

{config_load file="04.conf" section="$cfg"}

$smarty -> assign(‘cfg‘,‘children‘);

config方件中内容分组 

[children]

clr="green"

bgclr="yellow"

big="25px"

wdt="normal"

[newyear]

clr="red"

bgclr="blue"

big="20px"

wdt="bold"

Smarty 模板传递变量信息

assign是把信息赋予给一个具体变量,如果名字重复又覆盖情况

append是把信息赋予给一个数组,名字重复也可以同时存在,在访问的时候需要通过数组下标访问具体元素信息

在模板中使用数组

数组[下标] 或 数组.键

直接访问对向方法或属性只能用 $对象-> 方法或属性.也可以直接访问静态方法

Smarty 数组的遍历

<{foreach $arr as $key=>$value>

break;中止跳出

continue:跳过

代码段

<{foreachelse}>

没有遍历内容

<{/foreach}>

<{[email protected]}> 当前值 是否是第一个元素 是返回1

<{[email protected]}> 当前值 是否是最后一个元素 是返回1

<{[email protected]}> 给每个元素设定序列号(从1开始)

<{[email protected]}> 给每个元素设定序列号(从0开始)

<{[email protected]}> 数组总数

<{[email protected]}>判断数组是否有值

时间: 2024-10-12 15:35:30

Smarty笔记的相关文章

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

MVC是一种开发模式,强调数据的输入.处理.显示是强制分离的 Smarty使用教程1.如何配置我们的smarty解压后把libs文件夹放在网站第一级目录下,然后创建两个文件夹templates 存放模板文件templates_c 存放编译后的文件再创建初始化文件smarty.ini.php 注意事项:1.替换变量的标识分隔符一般使用<{}>改动分隔符的两个方法:1.改源码:Smarty.class.php $left_delimiter 不推荐2.动态修改:$Smarty->left_d

smarty学习笔记

http://www.php100.com/manual/smarty/ smarty是一种PHP的模板引擎,提供让程序逻辑(PHP)与页面显示(HTML/CSS)代码分离的功能.使用smarty的好处:1.smarty语法简洁,不需要懂PHP语法.2.松耦合.将页面显示和业务逻辑分离,可以令模板源码有强制的约束.Smarty并非一个MVC,它仅是显示层,就是MVC中的V层(视图层). [未完待续]

转 smarty学习笔记电子版整理

使用smarty模版,smarty类的文件在libs目录下,将libs目录拷贝到工作区当前目录下,建立templates和templates_c文件夹,也可以通过代码自己指定,推荐用系统默认目录. require_once("../Smarty-3.1.15/libs/Smarty.class.php"); $smarty=new Smarty; $smarty->left_delimiter="<{"; //设定smarty变量左标记,默认为{ $sm

thinkphp笔记

thinkphp 笔记TP框架:1.模板引擎2.MVC设计模式3.常用操作类 模板引擎和框架区别:1.模板引擎只是框架中用来做php和html分离的 MVC设计模式:M 数据模型V 视图C 控制器 V(HTML模板) --smarty()--> C(PHP逻辑控制) ->M(Model类表操作) localhost/test/index.php/模块/操作localhost/test/index.php/Index/add 目录结构ThinkPHP.php 框架入口文件Common 框架公共文

CI框架源码阅读笔记5 基准测试 BenchMark.php

上一篇博客(CI框架源码阅读笔记4 引导文件CodeIgniter.php)中,我们已经看到:CI中核心流程的核心功能都是由不同的组件来完成的.这些组件类似于一个一个单独的模块,不同的模块完成不同的功能,各模块之间可以相互调用,共同构成了CI的核心骨架. 从本篇开始,将进一步去分析各组件的实现细节,深入CI核心的黑盒内部(研究之后,其实就应该是白盒了,仅仅对于应用来说,它应该算是黑盒),从而更好的去认识.把握这个框架. 按照惯例,在开始之前,我们贴上CI中不完全的核心组件图: 由于BenchMa

CI框架源码阅读笔记1 - 环境准备、基本术语和框架流程

最开始使用CI框架的时候,就打算写一个CI源码阅读的笔记系列,可惜虎头蛇尾,一直没有行动.最近项目少,总算是有了一些时间去写一些东西.于是准备将之前的一些笔记和经验记录下来,一方面权作备忘,另一方面时刻提醒自己:借鉴和学习才有出路,忘记过去意味着背叛! 基本术语说明 在本文开始之前,有必要对文中反复出现的术语做一个简单的说明,如果你对这一部分已经熟谙,完全可以略过.本文中反复出现和提及的术语包括: 前端控制器(Front Controller): 用于集中控制用户的所有请求的组件,将用户的请求发

复制一篇笔记

  文 我的 Sublime Text 必备插件 sublime-text3 mqliutie 2015年05月09日发布 推荐 8 推荐 收藏 106 收藏,15.7k 浏览 常用插件 : SideBarEnhancements HTML-CSS-JS Prettify BracketHighlighter SublimeCodeIntel Emmet CTags Markdown Editing 和 Markdown Preview SideBarEnhancements Sublime T

如何处理JS与smarty标签的冲突

smarty的默认标记符是大括号:{}, 假如我们页面上有JS且定义了函数或者对象,或者有CSS定义了样式,就会出现大括号, smary引擎就会把这些大括号当作smarty语法来解释, 很明显,这些CSS样式属性和JS里的语法,不是smarty的语法, smarty引擎就会报错. 解决办法一.修改smart默认定界符,在php中,修改smarty对象的$left_delimiter和$right_delimiter属性. 很多人喜欢改为<{和}>,也有人改为<!--{和}-->,这

smarty 模板的入门使用

<?php require_once 'inc/libs/Smarty.class.php'; $s=new Smarty(); // echo $s::SMARTY_VERSION; // echo smarty::SMARTY_VERSION;//输出版本号 $s->debugging=false; $s->setTemplateDir('html'); $s->assign('title','我的网页'); $s->assign('address',['郑州','北京'