扫一扫浏览

模板内容标签tpf:posts的基本使用

未结贴
0 469
yaosean未认证 2018-12-31 16:44:37
收藏

对于模板标签,做过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,你还可以自己动手写自己想要的模板标签

最近热帖 HOT TOPIC
【全套视频】thinkphp5视频教程 1346
thinkphp5隐藏默认模块的一些问题 1340
教你如果处理高并发数据不同步的问题php篇 1150
TPFrame框架robot模块重磅来袭,内附2.1版本 1127
tpframe安装教程 1119
tpframe新建主题 1074
tpframe应用目录结构 1051
slide模块发布 1045
thinkphp5自动完成操作,两次运行的详解 1022
一张纸的厚度是0.01毫米,则该纸对折30次后是多厚(据说超过珠穆朗玛峰的高度)php实现 1002
月度热议HOT COMMENTS
tpframe 后续版本你希望有的功能是什么(分享贴) 12
关于tpframe的一点话题 6
cms插件在分类排序的时候JSON错误 6
基于tpframe v3.x 的微信公众号插件已批量上线 5
新增的管理员没有权限操作CMS模块。 3
api接口文档插件easydoc的基本用法,快速搞定接口文档 3
thinkphp5自动完成操作,两次运行的详解 2
tpframe-curd操作之添加数据 2
tpframe能带给你的,让你快速搞定各服务端(api,pc,mobile,wechat)代码的框架 2
slide模块发布 2
爆料早知道:TPFrame v3.2版本已更新我有好想法