IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> tinkphp5自定义模板标签 -> 正文阅读

[开发测试]tinkphp5自定义模板标签

tinkphp5自定义模板标签

最新文章

(一)标签定义

增加两个属性table(数据表)、field(表字段),方便多模型调用

protected $tags = [
    'menu'      => ['attr' => 'name', 'close' => 1], //0闭合标签 ,1不闭合(默认)
    'hot'       => ['attr' => 'catid,num,name,table,field', 'close' => 1],
    'recommend' => ['attr' => 'catid,num,name,table,field', 'close' => 1],
    'list'      => ['attr' => 'catid,num,name,table,field', 'close' => 1],
    'page'      => ['attr' => 'catid', 'close' => 1], //实际不使用,仅供教学参考
];

(二)标签申明

public function tagList($tag, $content) {

    $table = $tag['table'];
    $field = $tag['field'];

    //首页cid=0,num>0 ; 分类页cid>0,num=0
    if(empty($tag['catid']) || $tag['catid']=='0'){
        $num = $tag['num'];
        $php = <<<php
<?php
        \$list = think\Db::name('$table')->field('$field')->limit("$num")->order('listorder desc')->cache('$table_index',config('cache.expire'))->select();
        \$__LIST__ = \$list;
?>
php;
    }else{
        $num = 0;
        $where = "catid=" . $tag['catid'];
        $php = <<<php
<?php
       \$list = think\Db::name('$table')->where("$where")->field('$field')->limit("$num")->order('listorder desc')->paginate();
       \$__LIST__ = \$list;
?>
php;
    }

    $name = $tag['name'];
    $parse = $php;
    $parse .= '{volist name="__LIST__" id="' . $name . '"}';
    $parse .= $content;
    $parse .= '{/volist}';
    return $parse;
}

(三)标签调用

{def:list name="vo" catid="0" num="2" table="article" field="id,catid,title,thumb,description,inputtime,views"}
<article class="post type-post status-publish format-standard hentry">
  <figure class="thumbnail">
    <a href="{:url('info',['id'=>$vo.id])}"> <img src="__UPLOADS__/{$vo.thumb}" alt="{$vo.title}"></a>
    <span class="cat"> <a href="{:url('category',['id'=>$vo.catid])}">{$vo.catid|getCatInfoById=catname}</a></span>
  </figure>
  <header class="entry-header">
    <h2 class="entry-title"><a href="{:url('info',['id'=>$vo.id])}" rel="bookmark">{$vo.title}</a></h2>
  </header>
  <div class="entry-content">
    <div class="archive-content">{$vo.description}</div>
    <br/>
    <span class="title-l"></span>
    <span class="entry-meta">
      <span class="date">{$vo.inputtime}&nbsp;</span>
      <span class="views"> 阅读 {$vo.views}&nbsp;</span>
      <span class="comment"><a href="{:url('info',['id'=>$vo.id])}"> <i class="fa fa-comment-o"></i> 查看评论</a></span>
    </span>
    <div class="clear"></div>
  </div>
  <span class="entry-more"> <a href="{:url('info',['id'=>$vo.id])}" rel="bookmark">阅读全文</a></span>
</article>
{/def:list}

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-04-15 00:30:46  更:2022-04-15 00:33:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 0:15:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码