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

by 叶开楗 · 2021-05-13 · 9222 次阅读

前言

我在折腾“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:最后那个楼层消失,哎...我折腾不动,要改数据库...

版权声明:本文使用CC BY-NC-ND 4.0许可

文章发表于:2021-05-13 13:42:26