给TP-log博客系统添加“文章最后更新时间”功能

2周前 (06-05) 207℃ 0

前言

因为这个主题有个最后更新于xxx时间,“TP-log”我印象中是有这个最后更新代码的,然后一顿寻找没有...

只有这个发布时间时间{$list[0]->datetime|smartDate},无奈那只有自己想办法添加一个了。

过程

分析

作为一个小白我可不懂这些代码,只能查看代码大概分析一下。

  • $list[0]-> 读取数据库
  • datetime 获取的数据库时间
  • smartDate 转换数据库时间格式

上面分析完以后,我打开了Navicat Premium 12 查看数据库文章字段,如下:

看到了datetime 那这个字段就是发布时间 继续看看其他的

datetime

在旁边果然我又看到一个字段updatetime如果没猜错的话,这个就是最后更新时间了。

updatetime

添加

发现这个字段以后我试这改成{$list[0]->updatetime|smartDate}测试能否正输出最后更新时间!

结果提示:类的属性不存在:app\frontend\logic\Blog->updatetime

那就是说明没有从数据库读取这个字段,那我从源头入手$list[0]->查看这个读取数据库的代码,打开文件application\frontend\controller\Posts.php查看分析。

看到这里的时候我想起来上次凡哥的文章“Tp-log修改正文页面中的Title,Keywords,Description”里面就有类似的操作。

43行__BLOG__.datetime,后面添加代码__BLOG__.updatetime,这样就成功读取最后更新时间了,如下图:

测试

这时候我们在用代码{$list[0]->updatetime|smartDate}看看效果如何

这次没有任何吧报错,也成功读取显示正常,但是我希望是2021-6-5 xxx 这样的时间格式,没办法只能在修改一下smartDate 转换数据库时间格式这个代码。

打开文件application\common.php 找到下图代码:

在其后面添加如下代码:

function upsmartDate($unixtime, $dstr = 'Y-m-d H:i') {
      return date('Y-m-d H:i:s', $unixtime);  
}

效果:最后更新于:2021-06-05 18:35:20 调用代码:{$list[0]->updatetime|upsmartDate}

总结

{$list[0]->datetime|smartDate} 是发布时间,效果:发布: xxx天前

{$list[0]->updatetime|upsmartDate} 是最后更新时间,效果:2021-06-05 18:35:20

不得不说"凡哥"是给我把地图路线都标记好了,我就顺着他的地图标记前行或者参考就行,哈哈哈哈哈!!!

"凡哥"最近在写小说,如果写好了也请大家多多支持一下哈!!!

标签: TP-log

非特殊说明,本博所有文章均为博主原创。

吐槽啦~



已有 6 条评论


  1. 老麦 2周前 (06-05) #6
    这个表情绝了。
    看来你也一步步进阶了,加油。
    叶开楗 2周前 (06-05) #6-1
    @老麦: 我还是不会,我都是随便搞,基本都是替换原来的 哈哈。
  2. Fong 2周前 (06-05) #5
    这代码注释是认真的吗 ?
    叶开楗 2周前 (06-05) #5-1
    @Fong:?? 代码注释?

    小白的我 ,见谅,我不会代码 哈哈。
  3. 林羽凡 2周前 (06-05) #4
    好家伙,你也上这款表情包了,哈哈…… 太妙了。
    我写小说的事还不知道啥时候能发呢,还得酝酿几天,感谢推荐哈。 等我发书了第一时间告诉你。
    叶开楗 2周前 (06-05) #4-1
    @林羽凡:好 期待小说 哈哈。

    这表情包,还行 php 哪里我是直接替换的,就是html哪里我手动换的,花了点时间。