$smarty的保留变量与从配置文件中读取的变量
来源:互联网 发布:python time 编辑:程序博客网 时间:2024/06/05 11:52
从配置文件读取变量:
配置文件中的变量需要通过用两个"#"或者是smarty的保留变量$smarty.config.来调用第二种语法在变量作为属性值并被引号括住的时候非常有用.
(译注:举个例子 {include file="#includefile#"} 这样#includefile#将被当作字符处理,而不表示配置文件变量,
但可以这样表示 {includefile="’$smarty.config.includefile’"}不要忘了加’’)
foo.conf:
pageTitle = "This is mine"
bodyBgColor = "#eeeeee"
tableBorderSize = "3"
tableBgColor = "#bbbbbb"
rowBgColor = "#cccccc"
index.tpl:
{config_load file="foo.conf"}
<html>
<title>{#pageTitle#}</title>
<body bgcolor="{#bodyBgColor#}">
<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}">
<tr bgcolor="{#rowBgColor#}">
<td>First</td>
<td>Last</td>
<td>Address</td>
</tr>
</table>
</body>
</html>
index.tpl: (alternate syntax)
{config_load file="foo.conf"}
<html>
<title>{$smarty.config.pageTitle}</title>
<body bgcolor="{$smarty.config.bodyBgColor}">
<table border="{$smarty.config.tableBorderSize}" bgcolor="{$smarty.config.tableBgColor}">
<tr bgcolor="{$smarty.config.rowBgColor}">
<td>First</td>
<td>Last</td>
<td>Address</td>
</tr>
</table>
</body>
</html>
这个例子与上面两个例子同样地效果
OUTPUT: (same for both examples)
<html>
<title>This is mine</title>
<body bgcolor="#eeeeee">
<table border="3" bgcolor="#bbbbbb">
<tr bgcolor="#cccccc">
<td>First</td>
<td>Last</td>
<td>Address</td>
</tr>
</table>
</body>
</html>
1、找到smarty_class.php
找到:var $config_dir = “configs”;
2、保存到配置文件中(init.inc.php):$this->config_dir = ‘configs’;
3、到根目录下创建configs 文件 , 在该文件夹内创建一个foo.conf文件
4、打开foo.conf文件开始配置全局变量,该文件中#号表示注释行;
另外该文件的主要作用是让用户自定义修改你的网站的外观,比如颜色和一些布局。
在配置文件中,如果有换行的字符串,一定要用三个引号引起。 例如:
Intro = “”” aaaaaaaa
Bbbbbb
Cccccccc”””;
5、打开*.html(tpl) 模板文件
加载配置文件—1)、使用smarty的内建函数config_load
如果需要将内容放到不同的模板文件中,这是就需要定义节(局部变量)[节名称]
在foo.conf中被[]包含的是局部变量
节:属于局部变量,它存在的意义就是:选择不同的模板类型:例如:
Configs.Php文件:
[one]
a=11111111111111111111
[two]
b=2222222222222222222
[three]
c=3333333333333333333333
a.php
在模板里加载配置文件:
加载配置文件
<!--{ config_load file="foo.conf" section="one"}-->
*此时显示的结果应该就是111111111111111
这里section对应的选项就是配置文件中的局部变量[one][two] [three]
Section等于那个局部变量就会相对应的显示那个变量下的内容。
6、{$smarty}保留变量
{$smarty}保留变量可以被用于访问一些特殊的模板变量.
例如:
<{ $smarty.const.__FILE__}>
<!--{ $smarty.config.border}-->
9、smarty的保留变量
{$smarty.now}
{$smarty.const}
{$smarty.capture}
{$smarty.config}
{$smarty.section},{$smarty.foreach}
{$smarty.template}
php超级全局变量列表
$_GET[] 获得以GET方法提交的变量数组
$_POST[] 获得以POST方法提交的变量数组
$_COOKIE[] 获取和设置当前网站的Cookie标识
$_SESSION[] 取得当前用户访问的唯一标识,以数组形式体现,如sessionid以及自定义session数据
$_ENV[] 当前php环境变量数组
$_SERVER[] 当前php服务器变量数组
$_FILES[] 上传文件时提交到当前脚本的参数值,以数组形式体现 不用
$_REQUEST[] 包含当前脚本提交的全部请求,$_GET、$_POST、$_COOKIE、$_SESSION的所有动作
$_GLOBALS();
<!--{ $smarty.get.page }--><br> <!--用保留变量获取-->
$_GET();
url: http://www.aaa.com?page=1
*.php(moban.php) : $tpl->assign(“page”,$_GET());
*.php(tpl)(yemian.tpl) <{ $page }>
结果:1
第二种:使用保留变量获取
$smarty.超全局变量数组名(get,post,request等).元素的下标名
<{$smarty.get.page}>
结果:1
<!--{ $smarty.get.page}--><br> <!--用保留变量获取-->
7、时间的显示:{$smarty.now}
<!--|管道符号-->
<!--{$smarty.now|date_format:"%Y-%m-%d%H:%M:%S"}-->
8、php中的预定义常量 p161
__FILE__ 当前PHP程序脚本的绝对路径及文件名称
__LINE__ 存储该常量所在的行号
__FUNCTION__ 存储该常量所在的函数名称
__CLASS__ 存储该常量所在的类的名称
__METHOD__存储该常量所在的类的方法的名称
PHP_VERSION 存储当前PHP的版本号,也可以通过PHPVERSION()函数获取。
PHP_OS 存储当前服务器的操作系统
TRUE
FALSE
NULL
DIRECTORY_SEPARATOR
PATH_SEPARATOR
E_ERROR
E_WARNING
E_PASER
E_NOTICE
M_PI
第三部分:变量调节器:
smarty 变量调节器用于变量,自定义函数和字符串。请使用 ‘ | ’符号和调节器名称应用调节器。 变量调节器由赋予的参数值决定其行为。参数由‘ :’符号分开。
例题:
*.php
$tpl->assign("capit","capil aliz e");
$tpl->assign('articleTitle','Dealers Will Hear C
arTal <font color=red>
kat Noon. </font>HELLO');
//字符串格式化
$tpl->assign('number',23.5787446);
*.tpl
<p>变量调节器</p>
1、首字母大写
<!--{$capit|capitalize}--><br>
2、统计字符个数
<!--{$capit|count_characters}--><br>
3、统计字符个数
<!--{$capit|count_characters:true}--><br>
4、默认值,如果在模板中分配了变量,他的默认值就不会管用
<!--{$articleTitle|default:"notitle"}--><br>
默认值,不用在模板中分配变量,使用他的默认值
<!--{$myTitle|default:"notitle"}--><br>
5、连接字符串
<!--{$articleTitle|cat:"yesterday."}--><br>
6、计算段落
<!--{$articleTitle|count_paragraphs}--><br>
7、计算句数
<!--{$articleTitle|count_sentences}--><br>
8、计算词数
<!--{$articleTitle|count_words}--><br>
9、字符串缩进
<!--{$articleTitle|indent:10:"hello"}--><br>
10、将变量字符串小写
<!--{$articleTitle|lower}--><br>
11、所有的换行符将被替换成 <br />.功能同PHP中的nl2br()函数一样.
<!--{$articleTitle|nl2br}--><br>
12、正则替换
<!--{$articleTitle|regex_replace:"/[\r\t\n]/":"小样"}--><br>
13、字符替换
<!--{$articleTitle|replace:"Will":"*******"}--><br>
14、插空(不知道这个词是什么意思,顾名思义了^^)是一种在字符串的每个字符之间插入空格或者其他的字符(串).
<!--{$articleTitle|spacify:"^^"}--><br>
15、字符串格式化
<!--{$number}--><br>
<!--{$number|string_format:"%.2f"}--><br>
<!--{$number|string_format:"%d"}--><br>
16、所有的换行符将被替换成 <br />.功能同PHP中的nl2br()函数一样.
<!--{$articleTitle|nl2br}--><br>
17、用一个空格或一个给定字符替换所有重复空格,换行和制表符.
<!--{$articleTitle|strip:" "}--><br>
18、去除html标签
<!--{$articleTitle|strip_tags}--><br>
19、从字符串开始处截取某长度的字符.默认是80个.
你也可以指定第二个参数作为追加在截取字符串后面的文本字串.该追加字串被计算在截取长度中。
默认情况下,smarty会截取到一个词的末尾。
如果你想要精确的截取多少个字符,把第三个参数改为"true"
<!--{$articleTitle}--><br>
<!--{$articleTitle|truncate}--><br>
<!--{$articleTitle|truncate:30}--><br>
<!--{$articleTitle|truncate:30:""}--><br>
<!--{$articleTitle|truncate:30:"---"}--><br>
<!--{$articleTitle|truncate:30:"":true}--><br>
<!--{$articleTitle|truncate:30:"...":true}--><br>
20、所有字符大写
<!--{$articleTitle|upper}--><br>
21、可以指定段落的宽度(也就是多少个字符一行,超过这个字符数换行).默认80.
第二个参数可选,可以指定在约束点使用什么字符(默认是换行符\n).
默认情况下smarty将截取到词尾,如果想精确到设定长度的字符,请将第三个参数设为ture
<!--{$articleTitle}--><br>
<!--{$articleTitle|wordwrap:30}--><br>
<!--{$articleTitle|wordwrap:10}--><br>
<!--{$articleTitle|wordwrap:10:"<br>\n"}--><br>
<!--{$articleTitle|wordwrap:10:"\n":true}--><br>
22、用于html转码,url转码,在没有转码的变量上转换单引号,十六进制转码,十六进制美化,或者javascript转码。默认是html转码。
<!--{$articleTitle}--><br>
<!--{$articleTitle|escape}--><br>
<!--{$articleTitle|escape:"html"}--><br> <!--{* escapes & " ' < >*}-->
<!--{$articleTitle|escape:"htmlall"}--><br> <!--{* escapes ALL html entities *}-->
<!--{$articleTitle|escape:"url"}--><br>
<!--{$articleTitle|escape:"quotes"}--><br>
- $smarty的保留变量与从配置文件中读取的变量
- 从配置文件读取smarty变量
- 从配置文件读取smarty变量
- smarty的保留变量
- smarty的保留变量
- $smarty的保留变量
- Smarty的保留变量
- smarty使用变量(从配置文件读取变量 +Smarty变量调节器)
- smarty保留变量与调用配置文件
- smarty 从配置文件读取变量 config_load
- 【smarty】smarty保留变量的使用
- smarty中保留变量总结
- Smarty中的请求变量和保留变量的使用范例
- 从配置文件读取变量
- smarty中变量的使用
- smarty保留变量中的foreach与section
- smarty保留变量
- Smarty保留变量
- Git学习笔记 - 1
- Myeclipse8.5上基于JAX-WS开发WebService
- 原型模式 (Prototype Pattern ) -- (模式之十二)
- Jsp中标签与简单标签(3)
- Java建立SSL双向认证连接源码
- $smarty的保留变量与从配置文件中读取的变量
- 森林转换为二叉树
- BIEE中oracle提示(hints)的使用
- python读取JSON simplejson
- git的用法详细介绍
- db2连接超级慢
- android技巧
- Activity间如何传递对象
- 首次消费划痕险