“TP-log”评论列表,根据邮箱输出认证样式

1个月前 (05-13) 456℃ 0

前言

我在折腾“tp-log”的时候没少碰到问题,“凡哥”没少帮助和指导我,为此我为了表达我的感谢,就想着在我博客列表给凡哥来个“特殊服务”哈哈哈,啦啦啦~是给个头衔~

分析/修改

折腾前我们先打开评论主题文件/theme/frontend/default/public/comments.html分析一下哪里能改的。

看了一波在105行看到这样的代,码如下:

{if $list[0]->email == $vo.mail}<span class="comment-level">管理员</span>{else/}<span class="comment-level1">游客</span>{/if}    

原理:判断当前评论框邮箱是否等于数据库里的管理员邮箱 -> 是管理邮箱输出管理员头衔 ->不是就输出游客头衔

于是我这样改进了,如下:

{if $list[0]->email == $vo.mail or "凡哥@qq.com" == $vo.mail }{if $list[0]->email == $vo.mail}<span class="comment-level">管理员{else/}<span class="comment-level fange">指导员{/if}</span>{else/}<span class="comment-level1">游客</span>{/if}

为了显示不一样颜色,我还在css样式添加了如下:

.fange {
    background-color: #1e9fff !important;
}

做完以上修改就差不多了,但是有一点只是楼层显示的,子楼层(回复)也要做以上修改!

128行代码改上面一样,不过需要把 $vo.mail 改成 $v.mail 楼层/子楼层 如下:

{if $list[0]->email == $v.mail}<sup class="comment-level">管理员</sup>{else/}<sup class="comment-level1">游客</sup>{/if}

效果图如下:

二次改进

本来像上面修改以后,我感觉没必要在折腾了,但是今天收到下面的评论,我又折腾起来了!

其实我一直都是有思路的,只是不想折腾了,但是博友说了,我就折腾一下,顺便写个教程,一举多得 哈哈哈~

开始

首先打开公共函数文件application/common.php 添加如下代码:

//判断邮箱 

function usermail($mail){
$mail = $mail;

if ("凡哥邮箱" == $mail) {

   echo "<span class=\"comment-level fange\">指导员</span>";

} elseif ("管理员邮箱" == $mail) {

   echo "<span class=\"comment-level\">管理员</span>";

} else {

   echo "<span class=\"comment-level1\">游客</span>";

}   

}

在打开文件/theme/frontend/default/public/comments.html 修改105行/128行如下:

{$vo.mail|usermail}

是不是很简单,暴力呀,代码都短了一截,这样就基本可以啦~

但是我们还可以玩骚一点的,比如把头衔改成认证图标 如下:

步骤很简单,只需要把ECHO输出改成图片就可以了,如下:

认证图标来自“吾柯

 echo "<img width=\"20\" class=\"authentication-icon\" src=\"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-2fa930c8-feec-4942-ac88-ba3781377bb0/4ff80540-2a7f-4187-a102-4b05b431b2fe.png\">";

当然认证图标随便你你们改什么

如果想给多用户认证可以这样,如下:


} elseif ("凡哥" == $mail or "王先生" == $mail or "xxxx" == $mail ) {

//你想添加几个就加几个。

还想有个别用户不一样?那就在添加个elseif判断,如下:


if ("xxx" == $mail) {
echo "<span class=\"comment-level1\">管理员</span>";

} elseif ("xxx" == $mail or "xxx" == $mail) {

echo "<span class=\"comment-level1\">指导员</span>";

} elseif ("xxx" == $mail ) {

echo "<span class=\"comment-level1\">心爱的她</span>";

} else {

   echo "<span class=\"comment-level1\">游客</span>";

}

结尾

我是个小白只会简单的,大佬请勿吐槽,如果有更好的办法请留言~

至于调用的方法还是从“凡哥”写给我的文章《Tp-log引入第三方类,支持将Markdown内容显示为正常内容》里面学来的。

 {$Parsedown->text($list[0]->content)} 

不然我可不会这么调用,哈哈哈!!

最终的效果:

ps:最后那个楼层消失,哎...我折腾不动,要改数据库...

标签: TP-log

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

吐槽啦~



已有 32 条评论


  1. 林海草原 4周前 (05-24) #32
    我的天,相当能折腾啊。还是年轻好,我已经折腾不动了,今天我的邮件提醒异步调用经常失效的问题我处理了半天,弄得我还是升级插件,用国外的网址监控服务statuscake来解决这个问题。你的折腾是我学习的榜样!
    话说这个博客程序的框架是thinkphp是吧?貌似依托thinkphp开发的程序很多,比如kurblog也是,这个kurblog的作者忙于工作已经停更很久了。
    叶开楗 4周前 (05-25) #32-1
    @林海草原: 我当初邮件通知折腾了一星期多,最后还是选择了api发信了!
    博客程序是使用TPFrame框架二开CMS博客程序,在ThinkPHP动力驱动模式下做了进一步的开发饿TP-log v1.0 博客地址https://crazyus.net/posts/tplog.html
    kurblog博客,我记得是大熊在用吧!
  2. Fong 1个月前 (05-18) #31
    这 if else 确实混乱,用下"映射表法"解决吧,一个用户一个身份标识,根据表示映射文案,

    $ranks = array('emperor' =>'皇帝', 'king' => '国王', 'duke' => '公爵', 'count' => '伯爵', ...);

    echo in_array($user['rank'], array_keys($ranks)) ? $ranks[$user['rank']] : '平民'。
    叶开楗 1个月前 (05-18) #31-1
    @Fong:你给我推荐了"映射表法"我晚点折腾看看,
    这是我给你回馈,希望你能喜欢:https://yusukefukunaga.com/
    你博客的验证码我搞不懂,还是这里回复你吧
    叶开楗 1个月前 (05-19) #31-0
    @叶开楗: 昨天你评论了让我又折腾一下,现在可以了按评论数显示等级,不用手动改了。
  3. BigHuaji 1个月前 (05-18) #30
    能留个邮箱吗,可以帮忙搭建这个TP-Log嘛,我有宝塔环境,自己试了试不行 感谢
    叶开楗 1个月前 (05-18) #30-1
    @BigHuaji:我看了一下你博客,从typecho又到Wordpress,建议先下载phpstudy进行本地安装测试,感觉好用在到服务器安装。
    环境建议php5.6/7.4 mysql 5.6
    BigHuaji 1个月前 (05-18) #30-0
    @叶开楗: 搞好了 新域名是 blog.huaji.site 欢迎来玩啊(话说过几天换个友情链接?
    叶开楗 1个月前 (05-18) #30--1
    @BigHuaji: 你目前不符合交换要求诶~
  4. 轻风记 1个月前 (05-18) #29
    这东西很棒的,ty有插件就是每次更主题需要手动加代码
    叶开楗 1个月前 (05-20) #29-1
    @轻风记: 不然直接改核心,但是升级麻烦 哈哈。
  5. Tokin 1个月前 (05-16) #28
    不给我设一个“站长老公”的称号吗
    叶开楗 1个月前 (05-19) #28-2
    @Tokin: 可以吧,老公~

    这个够明显啦~
    叶开楗 1个月前 (05-17) #28-1
    @Tokin: 安排了
  6. 天策无双 1个月前 (05-15) #27
    没想到你还真的又折腾了,哈哈
    那个插件我给你看了一下,是这个https://github.com/ennnnny/typecho
    差不多的思路写法,就是插件方便了小白用户,写好名字和css就可以实现了,也不限制数量
    叶开楗 1个月前 (05-15) #27-1
    @天策无双: 感谢推荐。
    我晚点看看去,还有什么能折腾的 哈哈。
  7. KKMINI 1个月前 (05-13) #26
    我虽然很喜欢PHP代码
    但就是学不明白
    开发什么的对我这个影视专业的学生不是很友好
    叶开楗 1个月前 (05-13) #26-1
    @KKMINI: 我也是小白,不懂得代码,只是要用的时候百度代码!!

    影视专业呀,羡慕了
    羊加加 1个月前 (05-14) #26-0
    @叶开楗:现在还是大专 准备专升本
    叶开楗 1个月前 (05-14) #26--1
    @羊加加:这个是一定要的,我当初没有现在就后悔了。
    你学影视的可以学点html+css 以后你自己站点美化 让别人看你的作品很不错的。
    羊加加 1个月前 (05-14) #26--2
    @叶开楗:其实我也一直有自学html的但是css就是学不会
    叶开楗 1个月前 (05-17) #26--3
    @羊加加: 啊 , 那就懂的就行
  8. 天一生水 1个月前 (05-13) #25
    你博客更新频率很高,创作欲望很强啊
    叶开楗 1个月前 (05-13) #25-1
    @天一生水: 我给自己许下的承诺,日更...
    具体看:https://qq.md/posts/46
  9. 老麦 1个月前 (05-13) #24
    指导员,哈哈哈~
    叶开楗 1个月前 (05-13) #24-1
    @老麦: 哈哈 还差一个特派员 二营长
  10. 吾柯 1个月前 (05-13) #23
    辛苦了,谢谢开哥的教程
    叶开楗 1个月前 (05-13) #23-1
    @吾柯:客气了