2016/04/29 smarty模板 1, 初步 目标 : 变量 运算符 表达式 流程控制 函数

① 从配置文件中读取配置:

1,在模板页面加载配置文件 html页面 不是php页面
<{config_load file=‘fo.conf‘}>

2,在需要用到配置的地方加
<{#size#}>

3, 如果配置文件分了块,要取某一块的配置 用到section

<{config_load file=‘aa.conf‘ section=‘aa‘}>

② 调用变量调节器: |

capitalize 单词首字母大写<{$test|capitalize}

 cat  连接字符串   <{$articleTitle|cat:" yesterday."}>

lower 小写    <{$articleTitle|lower}>   类如upper

truncate   截取   <{$articleTitle|truncate:30}>

③ 自定义变量调节器:

1,在自定义的插件目录下新建文件,注意命名规则 (plugins插件文件夹下)

modifier.mark.php

2,在以上文件里面新建方法: 注意命名规则

smarty_modifier_mark

该方法必须有一个参数,代表变量本身

例:

该方法必须有一个参数,这个参数代表变量本身

function smarty_modifier_mark($str)
{
return "<mark>{$str}</mark>";

}

操作练习 :   0429test.php 中需要用到 DBDA.php 连接数据库  最后输出民族下拉菜单

1, 0429test.php

$smarty->assign(); 负责分配变量    和    $smarty->display();负责显示

 1 <?php
 2
 3 include("init.inc.php");//引入配置文件
 4 $attr=array("a"=>"aa","b"=>"bb","c"=>"cc");//注册关联数组
 5 $smarty->assign("attr",$attr);//注册数组
 6 $smarty->assign("title","helloword");//注册字符串
 7
 8 $smarty->assign("test","thisfjasdjfajsdfjlasdjlfjlsdjfdsjlkfjskldj");//注册字符串
 9 $smarty->assign("try1","this is a test");
10 $smarty->assign("money","美元");
11
12 $smarty->assign("bs",1);
13
14 $r=new Ren();
15 $smarty->assign("ren",$r);//注册对象  调对象要用$ren->name
16
17 include("DBDA.php");
18 $db=new DBDA();
19 $sql="select * from Nation";
20 $attrr=$db->Query($sql,1,"test2");
21
22 $smarty->assign("nation",$attrr);
23
24 $smarty->display("0429test.html");
25
26 class Ren
27 {
28     public $name=‘张三‘;
29 }

2, 0429test.html   属性配置调用    调节器    foreach循环   if语句  保留函数  类中变量调用

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title><{$title}></title>
 6 </head>
 7 <body>
 8
 9     <{config_load file=‘fo.conf‘ section=bb}>
10     <div style="width:200px; height:200px; background-color:<{#bg#}>;font-size:<{#size#}>px">测试config</div>
11
12     <{config_load file=‘fo.conf‘ section=aa}>
13     <div style="width:200px; height:200px; background-color:<{#bg#}>;font-size:<{#size#}>px">测试config</div>
14     <hr>
15
16     <div style="width:200px; height:200px; background-color:<{$smarty.config.bg}>;font-size:<{#size#}>px">测试config</div>
17
18
19
20     <h1>测试页面</h1>
21     <div><{$attr["a"]}></div>
22     <div><{$attr["b"]}></div>
23     <div><{$attr["c"]}></div>
24
25     <div><{$attr.a}></div>
26
27     <div><{$test|substr:10}></div>
28     <div><{$test|mark}></div>
29     <div><{$try1|capitalize}></div>
30     <div><{$money|cat:"$"}></div>
31
32     <select>
33     <{foreach $attr as $k=>$v}>
34         <option><{$k}>=><{$v}></option>
35     <{/foreach}>
36     </select>
37
38     <select>
39     <{foreach $attr as $k=>$v}>
40         <option><{$v@index}></option>
41     <{/foreach}>
42     </select>
43
44     <select>
45     <{foreach $attr as $k=>$v}>
46         <option><{$v@iteration}></option>
47     <{/foreach}>
48     </select>
49
50
51     <{foreach $attr as $k=>$v}>
52         <{if [email protected]}>
53         <div style=‘width:40px; height:40px; background-color:yellow‘><{$k}>=><{$v}></div>
54         <{else}>
55         <div style=‘width:40px; height:40px; background-color:red‘><{$k}>=><{$v}></div>
56         <{/if}>
57     <{/foreach}>
58
59
60     <div><{$ren->name}></div>
61     <div><{$smarty.now}></div>
62     <div><{$smarty.now|date_format}></div>
63     <div><{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}></div>
64
65     <{if $bs==1}>
66     <div>bs=1</div>
67     <{else}>
68     <div>bs无</div>
69
70     <{/if}>
71
72     <select>
73     <{foreach $nation as $vv}>
74         <option value=‘<{$vv[0]}>‘><{$vv[1]}></option>
75     <{/foreach}>
76     </select>
77 </body>
78 </html>

显示效果:

时间: 2024-08-02 22:59:38

2016/04/29 smarty模板 1, 初步 目标 : 变量 运算符 表达式 流程控制 函数的相关文章

2016/04/29 织梦 企业站 dedecms 做仿站

cms 系统还有: phpcms     企业站 Xiaocms  织梦  企业站 wordpress (博客) Ecshop 商城 Ecmall 多用户 Discms 记账 方维 订餐 团购 1,复习 2,重点 3,练习

2016/04/28(数据库的初步认识)

mysql -uroot -p;//打开数据库  admin 输入密码 show databases;//查询所有的库 use student://进入相应的库或者表 create database 库名://创建一个库 drop database 库名://删除一个库 create database if not exists 库名://如果没有就创建一个新的库 有就不会创建 防止报错 cerate database if not exists 库名 default charset utf8;

PHP学习之[第04讲]PHP5.4 运算符、流程控制

一.运算符: 1.算数运算符:+.-.*./.%.++.-- 2.字符串运算符: <?php $str="string php100"; echo $str."web"; //输出结果string php100web echo $str.123; //输出结果string php100123 $str2="web"; echo $str.$str2; //输出结果string php100web ?> 3.赋值运算符:①=.②+=.③

smarty模板基本语法

smarty基本语法: 1.注释:<{* this is a comment *}>,注意左右分隔符的写法,要和自己定义的一致. <{* I am a Smarty comment, I don't exist in the compiled output *}><!--里面的内容是注释的,不会显示在页面中--> 2.变量:模板变量用美元符号$开始,可以包含数字.字母和下划线,这与php变量很像.可以引用数组的数字或非数字索引,当然也可以引用对象属性和方法. <{

【我的书】Unity Shader的书 — 目录(2016.1.29更新)

写在前面 感谢所有点进来看的朋友.没错,我目前打算写一本关于Unity Shader的书. 出书的目的有下面几个: 总结我接触Unity Shader以来的历程,给其他人一个借鉴.我非常明白学Shader的艰难,在群里也见了很多人提出的问题.我觉得学习Shader还是一件有规律可循的事情,但问题是中文资料难觅,而大家又不愿意去看英文...这对我有什么好处呢?强迫我对知识进行梳理,对细节问题把握更清楚. 第二个原因你懂的. 关于本书的定位问题: 面向Unity Shader初学者,但要: 有一定的

&lt;2014 04 29&gt; c/c++常用库总结

C 标准库 ============================================================================================== C++ 标准库 STL 标准库中提供了C++程序的基本设施.虽然C++标准库随着C++标准折腾了许多年,直到标准的出台才正式定型,但是在标准库的实现上却很令人欣慰得看到多种实现,并且已被实践证明为有工业级别强度的佳作. 1. Dinkumware C++ Library 参考站点:http://w

前端学PHP之Smarty模板引擎

前面的话 对PHP来说,有很多模板引擎可供选择,但Smarty是一个使用PHP编写出来的,是业界最著名.功能最强大的一种PHP模板引擎.Smarty像PHP一样拥有丰富的函数库,从统计字数到自动缩进.文字环绕以及正则表达式都可以直接使用,如果觉得不够,SMARTY还有很强的扩展能力,可以通过插件的形式进行扩充.另外,Smarty也是一种自由软件,用户可以自由使用.修改,以及重新分发该软件.本文将详细介绍Smarty模板引擎 概述 Smarty是一个php模板引擎.更准确的说,它分离了逻辑程序和外

2016/05/05 smarty 增 删 改

共  八个页面 ①login.php 1 <?php 2 include("init.inc.php"); 3 4 $smarty->display("login.html"); 5 ?> ②login.html  显示模板  在templates模板文件夹中 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset=&q

分布式技术一周技术动态 2016.05.29

分布式系统实践 1. 网易视频云:新一代列式存储格式Parquet的最佳实践 https://mp.weixin.qq.com/s?__biz=MzI4NTA1MDEwNg==&mid=2650755579&idx=1&sn=640c55c7f2800be48271cdfb1880be99&scene=0&key=8d8120cb97983fad266c6ac303c9142a6b1da8ee51bea2e187dba1380070fd7707bdef8da1404