模板引擎(smarty)知识点总结四
/*
smarty 引入对象
*/
require_once 'libs/Smarty.class.php';
require 'MySmarty.class.php';
$msma = new MySmarty();
class stu{
public $name = '蒋金佚';
public $sex = '男';
function sayAge(){
echo '我今年21岁了<hr/>';
}
}
$stu1 = new stu();
//对象的使用方法 $标签名->属性 $标签名->方法
$msma->assign('stu1',$stu1);
<pre> 对象的使用方法 $标签名->属性 $标签名->方法 </pre> <p> My Name is {$stu1->name}<br/> I'm a {$stu1->sex}<br/> {$stu1->sayAge()} </p>
/*
smarty 数学运算
*/
/*
模板的数学运算
{$num1}*{$num2}这是当成字符串连接 结果为 10*20 + - 、 % 一样
*/
$msma->assign('num1',10);
$msma->assign('num2',20);
$msma->display('temp8.html');
<pre> 模板的数学运算 {$num1}*{$num2}这是当成字符串连接 结果为 10*20 + - 、 % 一样 {$num1*$num2} {$num1-$num2} {$num1/$num2} {$num1+$num2} {$num1%$num2} 这才是进行数学运算 </pre> <p> 加法:{$num1+50}<br/> 减法:{$num2-10}<br/> 乘法:{$num1*$num2}<br/> 除法:{100/$num2}<hr/>这种$标签在后面的写法在版本2.6是不支持的 建设为了兼容版本使用 $标签名在前 <br/>模运算 {$num2%2} <br/> {if ($num2%2) eq 0} 是偶数 {/if} </p>
/*
smarty 逻辑判断
*/
/*
可以使用以下条件修饰词:eq、ne、neq、gt、lt、lte、le、gte、ge、is even、is odd、is not even、is not odd、not、mod、div by、even by、odd by、==、!=、>、<、<=、>=. 使用这些修饰词时必须和变量或常量用空格格开.
*/
$msma->assign('num1',10);
$msma->assign('num2',20);
$msma->append('id','1a');
$msma->append('id','2a');
$msma->append('id','3a');
$msma->append('id','4a');
$msma->display('temp9.html');
<pre> 模板的逻辑判断 </pre> <p> {if $num1 == $num2} 相等的 {else} 不相等 {/if} {if $num2 < 10} 你大了 {else if ($num2%2) == 0} 你是偶数 {/if} </p> <pre> 隔行变色 学了循环就可以改写了 </pre> <table width='100' height='100'> <tr {if ($id[0]%2 == 0)} style='background-color:red' {else} style='background-color:green' {/if} > <td>2222</td> </tr> <tr {if ($id[1]%2 == 0)} style='background-color:red' {else} style='background-color:green' {/if} > <td>3333</td> </tr> <tr {if ($id[2]%2 == 0)} style='background-color:red' {else} style='background-color:green' {/if} > <td>4444</td> </tr> <tr {if ($id[3]%2 == 0)} style='background-color:red' {else} style='background-color:green' {/if} > <td>4444</td> </tr> </table> <pre> 循环 </pre> <table height='200'> {foreach key=index item=item from=$id } {if ($id[$index]%2) != 0} <tr style='background-color:yellow'><td>单数行{$index+1}是黄色 {$id[$index]} ---- {$item}</td><tr> {else} <tr style='background-color:blue'><td>双数行{$index+1}是蓝色 {$id[$index]} ---- {$item}</td><tr> {/if} {/foreach} </table> <table height='200'> {foreach $id as $k=>$v } {if ($v%2) != 0} <tr style='background-color:yellow'><td>单数行{$k+1}是黄色 {$v}</td><tr> {else} <tr style='background-color:blue'><td>双数行{$k+1}是蓝色 {$v}</td><tr> {/if} {/foreach} </table>

浙公网安备 33010602011771号