跟老姚学前端,课程体系更完善,10%基础 + 90%实战演练,快人一步学编程

扫一扫浏览

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

未结贴
0 3923
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视频教程 33673
父元素flex之后,子元素高度自适应问题 8299
thinkphp5隐藏默认模块的一些问题 7313
一张纸的厚度是0.01毫米,则该纸对折30次后是多厚(据说超过珠穆朗玛峰的高度)php实现 7173
教你如果处理高并发数据不同步的问题php篇 6817
omnicore rpc api中文手册【usdt】 6750
PHP如何判断字符串是否为json格式 6744
关于thinkphp5.0.x getshell漏洞的说明 6629
api接口文档插件easydoc的基本用法,快速搞定接口文档 6436
使用宝塔linux面板创建FTP无法连接的解决办法(阿里云或腾讯云) 6308
月度热议HOT COMMENTS
【全套视频】thinkphp5视频教程 33
tpframe 后续版本你希望有的功能是什么(分享贴) 12
权限那里怎么一登录别的账号就报错啊 9
关于tpframe的一点话题 6
cms插件在分类排序的时候JSON错误 6
基于tpframe v3.x 的微信公众号插件已批量上线 5
tpframe插件tcms插件v2.2已发布上线,欢迎下载使用 5
tpframe6.0马上就要跟大家见面了,一次全新的升级 5
透析thinkphp5升级版开发框架tpframe 3
新增的管理员没有权限操作CMS模块。 3