TePass是个不错的软件,至少通过打赏解决了我个人网站运行方面ECS的支出,最早使用的是「微信收款码」+「支付宝」,用户的打赏流程体验总归是不好的,后来就购买了TePass插件,总体来说还是很友好的。
今天主要针对TePass一些小众的个性化代码调整做了一个整理,也便于以后升级后自己使用,此代码是不对外的,为了根据需求调整代码,专门让公司成员写的。
文章内调用全站所有打赏最新的几个人
TePass的规则是,在哪篇文章内进行打赏操作,打赏按钮下面就显示该篇文章的最新记录。
但是对于我来说,网站体量并不大,打赏的记录并不会太多,分散到每篇文章的就几乎没有了。
需要实现的功能是,无论是那篇文章,均调用全站的打赏记录,显示前五名。
1、插件TePass目录找到Plugin.php
2、找到代码
//显示打赏记录 $queryFees= $db->select()->from('table.tepass_fees')->join('table.users', 'table.users.uid = table.tepass_fees.fee_uid', Typecho_Db::LEFT_JOIN)->where('table.tepass_fees.fee_cid=?',$cid)->where('table.tepass_fees.fee_type = 3')->where('table.tepass_fees.fee_status = ?', 1)->order('table.tepass_fees.fee_id',Typecho_Db::SORT_DESC);
3、更改为
//显示打赏记录 $queryFees= $db->select()->from('table.tepass_fees')->join('table.users', 'table.users.uid = table.tepass_fees.fee_uid', Typecho_Db::LEFT_JOIN)->where('table.tepass_fees.fee_type = 3')->where('table.tepass_fees.fee_status = ?', 1)->order('table.tepass_fees.fee_id',Typecho_Db::SORT_DESC)->limit(5);
4、到这里就完成了,每篇文章都会调用最新的5个打赏记录。
调用全站所有的打赏记录
TePass并没有单独提供一个全部的打赏记录,只是在后台提供了管理员查询。
我的需求是,建立一个「打赏榜」的栏目,该栏目会调用所有的打赏信息,包括名字、金额、时间等信息,但是一直未能调整出来,用的则是手动调整,手动更新有滞后性,一些打赏用户会认为没有打赏成功,所以就找技术部门成员进行了调整,最终完美解决。
1、模板文件目录找到functions.php文件
2、增加打赏调用代码
//打赏调用 function dashang($limit = 200){ $db = Typecho_Db::get(); $query = $db->fetchAll($db->select('fee_title','fee_total_price','fee_intime')->from('table.tepass_fees') ->where('fee_status','1')// 只显示付款成功的记录 ->order('fee_id', Typecho_Db::SORT_DESC) ->limit($limit) ); foreach ($query as $val) { $fee_title = $val['fee_title']; $fee_total_price = $val['fee_total_price']; $fee_intime = $val['fee_intime']; echo '<tr><td>'.$fee_title.'</td><td>'.$fee_intime.'</td> <td>'.$fee_total_price.'元</td></tr>'; } }
3、单独在需要的位置加入<?php dashang('200');?>调用即可,我是又单独建立了模板页和独立页面。
评论已关闭