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]}>判断数组是否有值