skymvc视图常用方法
ctrl端
$this->smarty->assign(); $this->smarty->goassign(); $this->smarty->display();
实例:
//普通的模板赋值 $this->smarty->assign( array( "data"=>$data, "pagelist"=>$pagelist, "rscount"=>$rscount, "url"=>$url, "catlist"=>M("guest")->catlist() ) ); //可转化成json的模板赋值 $this->smarty->goassign( array( "data"=>$data, "pagelist"=>$pagelist, "rscount"=>$rscount, "url"=>$url, "catlist"=>M("guest")->catlist() ) ); /**生成静态内容**/ $this->smarty->html("guest/index.html") /**获取内容**/ $html=$this->smarty->fetch("guest/index.html"); //直接显示页面 $this->smarty->display("guest/index.html");
模板文件端
1.变量使用及方法 {$data} 直接使用变量 {$data|+:1} 加1 {$data|html} html格式化 {$data|cutstr:24:...} 截取字符串 {$data|date:Y-m-d H:i:s} 格式化时间 2.foreach {foreach item=c key=k from=$list} 当前第{$k}条记录:{$c} {foreachelse} 当前暂无数据 {/foreach} 3. if 条件: > gt 大于 < lt 小于 == eq 等于 != neq 不等于 {if $i>0}1{elseif $i eq 2}2{/if} 4.get调用数据 对应的是model的方法 {get data=data model=guest fun=select()} 5.api调用数据 对应的是ctrl的方法 {api data=data control=guestapi fun=get() } 6.include 文件包含 {include file="head.html"} 7.R url rewrite方法 {R("index.php?m=$data")}
实例:
<!DOCTYPE html> <html> {include file="head.html"} <body> {include file="header.html"} {php C()->assignlist("guest")} {get data=catlist model=guest fun=catlist()} <table class='table table-bordered' width='100%'> <tr class="hd"> <td>id</td> <td>主题</td> <td>类型</td> <td>邮箱</td> <td>QQ</td> <td>留言时间</td> <td>留言内容</td> <td>回复内容</td> <td>回复时间</td> <td>操作</td> </tr> {foreach item=c from=$list} <tr> <td>{$c.id}</td> <td>{$c.title}</td> <td>{$catlist[$c.catid]}</td> <td>{$c.email}</td> <td>{$c.qq}</td> <td>{$c.dateline|date:Y-m-d H:m}</td> <td>{$c.content|cutstr:32:...}</td> <td>{$c.reply_content|cutstr:32:..}</td> <td>{if $c.reply_time}{$c.reply_time|date:Y-m-d H:m}{else}暂无回复{/if}</td> <td><a href="{R("index.php?m=guest&a=add&id=$c.id")}">编辑</a> <a href="{R("index.php?m=guest&a=show&id=$c.id")}">查看</a> <a href="{R("index.php?m=guest&a=delete&id=$c.id")}">删除</a></td> </tr> {/foreach} </table> <div>{$pagelist}</div> {include file="footer.html"} </body> </html>