对于模板标签,做过cms开发的人肯定不陌生,它能方便的帮我们从模板里面取到我们想要的内容,典型的就是dede标签了,根本不用关心里面的实现方式,看看说明文档你就可以使用
tpframe同样也有自己的模板标签,由于tpframe是插件式扩展的系统,因为对于标签没有详细的开发,对于会的人可以自己手动开发自己想要的标签功能,后续我们也会慢慢的强大tpframe的模板标签功能,下面介绍一下内容标签tpf:posts的基本使用
标签是通过tpfcore\taglib\Tpf类来定义的,看源码里面有
public function tagPosts($tag, $content){
$id = isset($tag['id']) && $tag['id']?$tag['id']:'vo';
$num = isset($tag['num']) && $tag['num']?(int)$tag['num']:1;
$key = isset($tag['key']) && $tag['key']?$tag['key']:'key';
$order = isset($tag['order']) && $tag['order']?$tag['order']:'datetime ASC';
$where = isset($tag['where']) && $tag['where']?$tag['where']:'1=1';
$rows=isset($tag['limit']) && is_numeric($tag['limit'])?$tag['limit']:0;
$parse = '<?php ';
$parse .= '$tpflist = Core::loadModel("Posts")->getTpfPosts(["where"=>"isdelete=0 AND ischeck=1 AND '.$where.'","join"=>["join" => "__USER__ b", "condition" => "__POSTS__.cateid=b.id", "type" => "LEFT"],"order"=>"'.$order.'","field"=>"__POSTS__.id,title,datetime,thumb,source,author,view,reply,likes,iscomment,istop,isrecommend,cateid,uid,b.nickname","limit"=>'.$num.',"paginate"=>["rows"=>'.$rows.']]); ';
$parse .= 'foreach($tpflist as $'.$key.'=>$'.$id.'){';
$parse .= '?>';
$parse .= $content;
$parse .= '<?php } ?>';
return $parse;
}
里面定义了各种参数:
id:循环中定义的元素变量,默认为:vo
num:获取记录数量,也就是你取多少条,默认为:1
key:序号标识,默认key
order:排序方式,默认按datetime升序
where:查询条件
limit:分页显示,每页显示多少条
如何使用
在你想要显示内容的模板里面直接调用posts标签即可
{tpf:posts num='10'} {$vo.title} {/tpf:posts}
这里的title就是取标题,tpf:posts两边要闭合,中间你可以随意的嵌套html内容例如
<ul>
{tpf:posts num='10'}
<li><a href="/posts-{$vo.id}">{$vo.title}</a></li>
{/tpf:posts}
</ul>
这样就能取到内容了,基本功能就是这样,更多功能等待你去使用,如果你是phper,你还可以自己动手写自己想要的模板标签